我们有一个平板电脑应用程序,我们正在零售店部署。它目前是深夜自我更新,但在它之后它不再是默认的“家庭”应用程序,用户可以选择再次启动我们的应用程序或默认启动器。即使在更新之后,我们也希望我们的应用程序始终是默认的家庭应用程序。有没有办法在root设备上执行此操作?
这是一个基于ICS的设备,因此addPreferredActivity似乎不起作用,因为即使设备已植根,我也无法获得android.permission.SET_PREFERRED_APPLICATIONS权限。如果有办法,我想我可以做到这一点..
答案 0 :(得分:10)
有没有办法在root设备上执行此操作?
最简单的解决方案是您从评论中拒绝的解决方案:删除股票启动器并使您成为唯一的启动器。
这是一个基于ICS的设备,因此addPreferredActivity似乎无法正常工作,因为即使设备已植根,我也无法获得android.permission.SET_PREFERRED_APPLICATIONS权限。
Root本身与权限无关。在这种情况下,SET_PREFERRED_APPLICATIONS
是签名级权限,这意味着您的应用必须使用与固件相同的签名密钥进行签名,除非您使用自己的修改ROM,否则将无法进行签名。
如果我正确地阅读the Android source code,addPreferredActivity()
的结果会在/data/system/packages.xml
元素的<preferred-activities>
中结束。通过修改该文件非常仔细,看看是否能满足您的需求。
答案 1 :(得分:0)
有时会发生一些应用程序无法在root设备中正常工作我在我的设备中也遇到了同样的问题(也是Rooted)。所以我只有一种方法可以再次安装操作系统,所以我使用一些软件(如superoneclick)并使用它我unroot我的设备并重新安装操作系统。然后应用程序完美运行,如果可能的话,你也可以将你的设备解除根据。