2013-04-10 32 views
0

我想在启动使用ResolverActivity.java的可用应用程序之后,保存用户在单击复选框时选择的默认操作。我已经通过ResolverActivity.java,下面的代码块得到执行,但仍然没有保存默认的操作。而下次我需要再次选择动作/应用程序。如何保存用户在选择器活动中选择的默认操作

代码:

getPackageManager().addPreferredActivity(filter, bestMatch, set, 
        intent.getComponent()); 

任何人能告诉我什么是这个代码背后的原因不能正常工作。

回答

0

Android安全策略将禁止您更改首选活动,但是如果您的活动已设置为默认活动,则可以取消设置该默认活动。

如果您只需要自己的应用程序的默认值,则必须编写所有代码来自行处理。创建自己的对话框,有一个可供选择的选项列表,你自己的复选框记住设置,你自己的代码保存&加载默认等。

+0

我在我的键盘上有一个信封键,我正在使用解析活动将所有消息传递应用作为用户选项。用户可以选择任何消息类型即,短信,电子邮件,Gmail,WhatsApp等,并通过点击“将其设置为Deault”复选框将其设置为默认值。但我的问题是:用户选择的默认操作没有得到保存,并且当用户按下信封键时,他需要从选项列表中进行选择。在Android中恢复默认值? – dipali 2013-04-16 09:56:00

+0

要让用户为您的应用程序设置默认值,您无法使用ResolverActivity。你必须自己完成所有的工作。使用PackageManager.queryIntentActivities()获取选项列表,然后在ListView中显示给用户,将结果保存到SharedPreferences等。我不会为你做所有这些,但如果你完成了一半的工作,卡住了,发布一个新问题。 – 2013-04-17 15:31:36

2

由于安全原因,第三方应用程序无法控制任何操作的默认应用程序。只有系统可能会改变这些设置。