PackageInstaller.uninstall()方法在Android TV中不起作用(设置框)
对于Android(Q)驱动的安装盒,我们希望驻留在PackageInstaller.uninstall()方法在Android TV中不起作用(设置框),android,uninstallation,android-tv,Android,Uninstallation,Android Tv,对于Android(Q)驱动的安装盒,我们希望驻留在/priv-app/部分的应用程序能够在无需用户交互的情况下以静默方式卸载软件包 我拥有设备的root访问权限。 应用程序具有android.permission.INSTALL_PACKAGES和android.permission.DELETE_PACKAGES清单中声明的权限。 当相同的代码在具有root访问权限的Android手机/模拟器上运行时,它能够从设备上卸载应用程序(当应用程序成为设备所有者时) 但在Android TV的情况下
/priv-app/
部分的应用程序能够在无需用户交互的情况下以静默方式卸载软件包
我拥有设备的root访问权限。
应用程序具有android.permission.INSTALL_PACKAGES
和android.permission.DELETE_PACKAGES
清单中声明的权限。
当相同的代码在具有root访问权限的Android手机/模拟器上运行时,它能够从设备上卸载应用程序(当应用程序成为设备所有者时)
但在Android TV的情况下,没有关于启用设备管理应用程序的规定/章节,如果我尝试使用命令adb shell dpm set device owner com.tvdevice.deviceadminapp/.DevAdminReceiver来启用它
它抛出错误
java.lang.RuntimeException: Can't set package ComponentInfo{com.tvdevice.deviceadminapp/com.tvdevice.deviceadminapp.DevAdminReceiver} as device owner.
at com.android.commands.dpm.Dpm.runSetDeviceOwner(Dpm.java:177)
at com.android.commands.dpm.Dpm.onRun(Dpm.java:106)
at com.android.internal.os.BaseCommand.run(BaseCommand.java:54)
at com.android.commands.dpm.Dpm.main(Dpm.java:41)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:340)
因此,作为一种解决方法,我在/data/system/
处直接编辑了xml文件device\u owner\u 2.xml
和device\u policies.xml
,将我的应用程序作为设备所有者,但它仍然无法卸载从其他软件包安装的应用程序(例如:com.android.vending
,从play安装的应用程序包的安装程序)
注意:应用程序能够卸载由其安装的软件包(当前应用程序是软件包的安装程序),但对于从其他来源安装的应用程序,它将失败
有没有办法让if正常工作?请帮助。您希望它以静默方式进行?没有用户的批准?@ItayFeldman Yes.。应该是静默卸载。