// Create temp file before invoking install api mTmpFile = createTempPackageFile(path); if (mTmpFile == null) { // Message msg = mHandler.obtainMessage(INSTALL_COMPLETE); // msg.arg1 = PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE; // mHandler.sendMessage(msg); return; } Uri mPackageURI = Uri.parse("file://" + mTmpFile.getPath()); String installerPackageName = mContext.getIntent().getStringExtra( Intent.EXTRA_INSTALLER_PACKAGE_NAME);
PackageInstallObserver observer = new PackageInstallObserver(); pm.installPackage(mPackageURI, observer, installFlags, installerPackageName); }
private File createTempPackageFile(String filePath) { File tmpPackageFile = mContext.getFileStreamPath(TMP_FILE_NAME); if (tmpPackageFile == null) { Log.w(TAG, "Failed to create temp file"); return null; } if (tmpPackageFile.exists()) { tmpPackageFile.delete(); } // Open file to make it world readable FileOutputStream fos; try { fos = openFileOutput(TMP_FILE_NAME, MODE_WORLD_READABLE); } catch (FileNotFoundException e1) { Log.e(TAG, "Error opening file " + TMP_FILE_NAME); return null; } try { fos.close(); } catch (IOException e) { Log.e(TAG, "Error opening file " + TMP_FILE_NAME); return null; }
File srcPackageFile = new File(filePath); if (!FileUtils.copyFile(srcPackageFile, tmpPackageFile)) { Log.w(TAG, "Failed to make copy of file: " + srcPackageFile); return null; } return tmpPackageFile; }
private class PackageInstallObserver extends IPackageInstallObserver.Stub { public void packageInstalled(String packageName, int returnCode) { // Message msg = mHandler.obtainMessage(INSTALL_COMPLETE); // msg.arg1 = returnCode; // mHandler.sendMessage(msg); Log.i(TAG, "====INSTALL_COMPLETE"); } }
// Create temp file before invoking install api mTmpFile = createTempPackageFile(path); if (mTmpFile == null) { // Message msg = mHandler.obtainMessage(INSTALL_COMPLETE); // msg.arg1 = PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE; // mHandler.sendMessage(msg); return; } Uri mPackageURI = Uri.parse("file://" + mTmpFile.getPath()); String installerPackageName = mContext.getIntent().getStringExtra( Intent.EXTRA_INSTALLER_PACKAGE_NAME);
PackageInstallObserver observer = new PackageInstallObserver(); pm.installPackage(mPackageURI, observer, installFlags, installerPackageName); }
private File createTempPackageFile(String filePath) { File tmpPackageFile = mContext.getFileStreamPath(TMP_FILE_NAME); if (tmpPackageFile == null) { Log.w(TAG, "Failed to create temp file"); return null; } if (tmpPackageFile.exists()) { tmpPackageFile.delete(); } // Open file to make it world readable FileOutputStream fos; try { fos = openFileOutput(TMP_FILE_NAME, MODE_WORLD_READABLE); } catch (FileNotFoundException e1) { Log.e(TAG, "Error opening file " + TMP_FILE_NAME); return null; } try { fos.close(); } catch (IOException e) { Log.e(TAG, "Error opening file " + TMP_FILE_NAME); return null; }
File srcPackageFile = new File(filePath); if (!FileUtils.copyFile(srcPackageFile, tmpPackageFile)) { Log.w(TAG, "Failed to make copy of file: " + srcPackageFile); return null; } return tmpPackageFile; }
private class PackageInstallObserver extends IPackageInstallObserver.Stub { public void packageInstalled(String packageName, int returnCode) { // Message msg = mHandler.obtainMessage(INSTALL_COMPLETE); // msg.arg1 = returnCode; // mHandler.sendMessage(msg); Log.i(TAG, "====INSTALL_COMPLETE"); } }