- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
所以,我找到了这个答案 here #CommonsWare 关于允许应用程序像 Google Play 一样静默安装应用程序到手机。在那里,提到应用程序应该使用固件签名证书进行签名,或者将应用程序添加到系统文件夹。我需要知道的是,如果我将应用程序添加到 system\app\或 system\priv-app\,那么是否可以将应用程序静默安装到 Android 设备?还是我需要使用 INSTALL_PACKAGES 权限?如果是,怎么办?
我问这个问题是因为我只有 10 个声誉,所以我不能在那里发表评论。
我通过 #inazaruk here 找到了答案,但它很复杂,而且提供的链接已失效。
最佳答案
执行安装的应用程序需要系统签名或驻留在系统/应用程序 system/priv-app 中,对于那些您确实需要持有正确权限才能安装应用程序的应用程序(即使您是系统签署),不同之处在于您完全可以获得必要的许可。您使用权限的事实与用户收到一个询问是否可以的弹出窗口是不同的。
为了安装包,您可以调用 (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。
关于android - 如何在 Android 设备上静默安装应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42201232/
我是一名优秀的程序员,十分优秀!