5

因此,我在#CommonsWare 找到了这个答案关于允许应用程序像 Google Play 一样将应用程序静默安装到手机上。在那里,提到应用程序应该使用固件签名证书等进行签名,或者将应用程序添加到系统文件夹。我需要知道的是,如果我将应用程序添加到 system\app\ 或 system\priv-app\,那么是否可以将应用程序静默安装到 Android 设备上?还是我需要使用 INSTALL_PACKAGES 权限?如果是这样,怎么做?

我问这个问题是因为我只有 10 个声誉,所以我不能在那里发表评论。

我在这里找到了#inazaruk 的答案,但它很复杂,并且提供的链接已经失效。

4

1 回答 1

2

进行安装的应用程序需要系统签名或驻留在系统/应用系统/私有应用程序中,对于那些您确实需要持有正确权限才能安装应用程序的应用程序(即使您是系统签名的),不同之处在于您完全可以获得必要的许可。您使用权限这一事实与用户收到一个询问是否可以的弹出窗口不同。

为了安装一个包,你可以调用(ApplicationPackageManager.installPackage): http ://androidxref.com/7.1.1_r6/xref/frameworks/base/core/java/android/app/ApplicationPackageManager.java#1561

public void installPackage(Uri packageURI, PackageInstallObserver observer,
        int flags, String installerPackageName) {

由于 ApplicationPackageManager 上有 @hide ,您将不得不使用反射之类的东西来访问它。当您调用“Context.getPackageManager”时,您会得到一个 ApplicationPackageManager。

于 2017-02-13T10:34:54.717 回答