Android多帐户的clearPackagePreferredActivities异常

时间:2013-06-12 12:44:50

标签: android user-accounts

我正试图通过以下方式取消设置我的应用默认操作:

final PackageManager pm = getPackageManager();              
pm.clearPackagePreferredActivities( getPackageName() );

它适用于设备的主帐户,但它会引发辅助帐户的例外:

  

“用户1010080和当前进程都没有android.permission.SET_PREFERRED_APPLICATIONS。”

当然我在清单中添加了android.permission.SET_PREFERRED_APPLICATIONS(但我认为它已不再使用了)

我尝试用以下内容“改变上下文”:

 final PackageManager pm = getApplicationContext().getPackageManager();
 pm.clearPackagePreferredActivities( getPackageName() );

没有成功。

我的应用程序是一个家庭应用程序(适用于孩子)几乎锁定所有内容,我想要一个“退出”按钮,用于恢复用户家庭(或至少选择家庭)。可能是另一种解决方案。

感谢。

1 个答案:

答案 0 :(得分:1)

clearPackagePreferredActivities&自API级别8以来,{@ 3}}被不推荐使用。

设置首选活动的现代方法是启动一个意图,如下所示:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(intent);