繁体   English   中英

如何使用PackageInstaller for Profile Owner安装应用程序?

[英]How to install app using PackageInstaller for Profile Owner?

我正在尝试使用Package Installer安装apk文件。 我的应用是当前个人资料所有者。 该方法成功完成,但是在我的BroadcastReceiver中,我正在获取PackageInstaller.STATUS_PENDING_USER_ACTION。 根据android docs https://developer.android.com/reference/android/content/pm/PackageInstaller应用,如果它是配置文件所有者,则应该能够静默安装apk。

     public static boolean installPackage(Context context, InputStream 
   in, 
       String packageName)
        throws IOException {
      final PackageInstaller packageInstaller = 
    context.getPackageManager().getPackageInstaller();
    final PackageInstaller.SessionParams params = new 
     PackageInstaller.SessionParams(
            PackageInstaller.SessionParams.MODE_FULL_INSTALL);
    params.setAppPackageName(packageName);
    // set params
    final int sessionId = packageInstaller.createSession(params);
    final PackageInstaller.Session session = 
   packageInstaller.openSession(sessionId);
    final OutputStream out = session.openWrite("TestDPC", 0, -1);
    final byte[] buffer = new byte[65536];
    int c;
    while ((c = in.read(buffer)) != -1) {
        out.write(buffer, 0, c);
    }
    session.fsync(out);
      in.close();
       out.close();

       session.commit(createInstallIntentSender(context, sessionId));
       return true;
    }

您的应用必须设置为设备所有者或关联的配置文件所有者。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM