3

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

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

4

2 回答 2

10

有没有办法在有根设备上做到这一点?

最简单的解决方案是您在评论中拒绝的解决方案:删除库存启动器并让您成为唯一的启动器。

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

根本身与权限无关。在这种情况下,SET_PREFERRED_APPLICATIONS是签名级别的权限,这意味着您的应用程序必须使用与固件相同的签名密钥进行签名,除非您推出自己的改装 ROM,否则这是不可能的。

如果我正确阅读了 Android 源代码,则结果会addPreferredActivity()出现/data/system/packages.xml在一个<preferred-activities>元素中。非常仔细地修改该文件,看看是否能得到你想要的。

于 2012-05-28T23:58:42.520 回答
0

有时会发生某些应用程序无法在 root 设备中正常工作我的设备中也有同样的问题(也是 Rooted)。所以我只有一种方法可以再次安装操作系统,所以我使用了一些软件(像superoneclick)并使用它我取消了我的设备并重新安装操作系统。那么该应用程序可以完美运行,所以如果可能的话,您也应该取消您的设备的根目录。

于 2012-05-28T04:45:43.540 回答