Guest User

Untitled

a guest
Apr 16th, 2020
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.28 KB | None | 0 0
  1.   public void installPackage(Context context, InputStream inputStream)
  2.             throws IOException {
  3.         PackageInstaller packageInstaller = context.getPackageManager().getPackageInstaller();
  4.         int sessionId = packageInstaller.createSession(new PackageInstaller
  5.                 .SessionParams(PackageInstaller.SessionParams.MODE_FULL_INSTALL));
  6.         PackageInstaller.Session session = packageInstaller.openSession(sessionId);
  7.  
  8.         try (OutputStream out = session.openWrite("app_update_session", 0, 0)) {
  9.  
  10.             byte[] buffer = new byte[65536];
  11.             int c;
  12.             while ((c = inputStream.read(buffer)) != -1) {
  13.                 out.write(buffer, 0, c);
  14.             }
  15.             session.fsync(out);
  16.             inputStream.close();
  17.         }
  18.         Log.d(TAG, "New app version installed - restarting...");
  19.         session.commit(createIntentSender(context, sessionId));
  20.     }
  21.  
  22.     private IntentSender createIntentSender(Context context, int sessionId) {
  23.         PendingIntent pendingIntent = PendingIntent.getBroadcast(
  24.                 context,
  25.                 sessionId,
  26.                 new Intent(Intent.ACTION_MY_PACKAGE_REPLACED).putExtra("updated_from_server", true),
  27.                 0);
  28.         return pendingIntent.getIntentSender();
  29.     }
Advertisement
Add Comment
Please, Sign In to add comment