所以,我发现#CommonsWare的这个答案here是关于允许应用程序像Google Play那样以静默方式安装应用程序。在那里,提到应该使用固件签名证书进行签名,或者将应用程序添加到System文件夹。我需要知道的是,如果我将应用程序添加到system \ app \或system \ priv-app \,那么是否可以将应用程序静默安装到Android设备?或者我是否需要使用INSTALL_PACKAGES权限?如果是这样,怎么样?
我问这个问题是因为我只有10个声誉,所以我不能在那里发表评论。
我找到了#inazaruk here的答案,但它很复杂,提供的链接已经死了。
答案 0 :(得分:1)
执行安装的应用程序需要系统签名或驻留在system / app 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。