Answers:
我做了一些挖掘,没有API 21之前的系统许可,就有可能https://developer.android.com/reference/android/content/pm/PackageInstaller.html。
实际上,谷歌有一个代码示例显示了如何执行此操作。https://github.com/googlesamples/android-testdpc/blob/master/app/src/main/java/com/afwsamples/testdpc/cosu/CosuUtils.java
如果应用程序是静默安装的(即没有通常的安装对话框),则可能是这些应用程序直接调用pm
,即PackageManager
作为系统应用程序接受许可android.permission.INSTALL_PACKAGES
。
手机必须植根,以便应用程序可以pm
在根上下文中调用,否则将收到消息“用户xxxx或当前进程都没有android.permission.INSTALL_PACKAGES”。
编辑:正如@Izzy在评论中指出的,android.permission.INSTALL_PACKAGES
还授予安装到的应用程序/system
。请参阅下面的评论和此SO问题以获取更多信息。