如何在root设备上将我的应用程序设置为默认值

时间:2012-05-15 15:28:44

标签: android

我们有一个平板电脑应用程序,我们正在零售店部署。它目前是深夜自我更新,但在它之后它不再是默认的“家庭”应用程序,用户可以选择再次启动我们的应用程序或默认启动器。即使在更新之后,我们也希望我们的应用程序始终是默认的家庭应用程序。有没有办法在root设备上执行此操作?

这是一个基于ICS的设备,因此addPreferredActivity似乎不起作用,因为即使设备已植根,我也无法获得android.permission.SET_PREFERRED_APPLICATIONS权限。如果有办法,我想我可以做到这一点..

2 个答案:

答案 0 :(得分:10)

  

有没有办法在root设备上执行此操作?

最简单的解决方案是您从评论中拒绝的解决方案:删除股票启动器并使您成为唯一的启动器。

  

这是一个基于ICS的设备,因此addPreferredActivity似乎无法正常工作,因为即使设备已植根,我也无法获得android.permission.SET_PREFERRED_APPLICATIONS权限。

Root本身与权限无关。在这种情况下,SET_PREFERRED_APPLICATIONS是签名级权限,这意味着您的应用必须使用与固件相同的签名密钥进行签名,除非您使用自己的修改ROM​​,否则将无法进行签名。

如果我正确地阅读the Android source codeaddPreferredActivity()的结果会在/data/system/packages.xml元素的<preferred-activities>中结束。通过修改该文件非常仔细,看看是否能满足您的需求。

答案 1 :(得分:0)

有时会发生一些应用程序无法在root设备中正常工作我在我的设备中也遇到了同样的问题(也是Rooted)。所以我只有一种方法可以再次安装操作系统,所以我使用一些软件(如superoneclick)并使用它我unroot我的设备并重新安装操作系统。然后应用程序完美运行,如果可能的话,你也可以将你的设备解除根据。