1

我正在尝试以编程方式取消设置默认主屏幕。我的应用在清单中被定义为主页,但如果用户选择手机主屏幕作为默认设置(在选择主屏幕的对话框中),我无法再次将我的应用设置为主页。

如果用户选择我的应用作为默认主屏幕(使用“设置为默认”复选框),我只需要做:

clearPackagePreferredActivity("MypackageApp"); //来自包管理器

然后选择器再次出现。但是我不知道如何再次出现选择当前主屏幕的对话框(当用户默认选择手机主屏幕时)。我试过这个:

clearPackagePreferredActivities("com.android.launcher"); //来自包管理器但我得到一个错误:java.lang.security.exception 用户*和当前进程都没有android.permission.SET_PREFERRED_APPLICATIONS。但我已经在我的清单应用程序中定义了这个权限。

4

1 回答 1

2

我正在尝试以编程方式取消设置默认主屏幕。

幸运的是,出于明显的安全原因,这是不可能的。

我的应用在清单中被定义为主页,但如果用户选择手机主屏幕作为默认设置(在选择主屏幕的对话框中),我无法再次将我的应用设置为主页。

切换回不同主屏幕的用户会认为这是一件非常好的事情。

但我已经在我的清单应用程序中定义了这个权限。

仅当您的应用程序使用与用于签署固件相同的签名密钥签署时,您才能持有该权限。

于 2012-04-10T15:26:31.390 回答