2011-07-04 161 views
0

如何使用复选框为默认应用程序扩展共享功能?用于共享功能的复选框

这里是我的代码:

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
    emailIntent.setType("plain/text"); 
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, developers); 
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message); 

和截屏妁(不复选框):

我要让更多钞票来设置一个应用程序为默认应用程序。

+1

你为什么要重新实现已经内置到系统中的东西吗?你想做什么和系统已经做了什么之间有什么区别? – Marmoy

+0

我不需要重新实现。我想让用户设置他的默认应用程序。 – Mark

+0

你在其他设备上测试过吗?它应该默认显示复选框。 – Marmoy

回答

1

解决方法:

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
emailIntent.setData(Uri.parse("mailto:" + developers[0])); 
emailIntent.setType("plain/text"); 
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, developers); 
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message); 
activity.startActivity(emailIntent); 

行:

emailIntent.setData(Uri.parse("mailto:" + developers[0])); 
+0

你能解释一下这是什么吗? – Marmoy

1

看我周围发现了这片文档的有关意向标志ACTION_CHOOSER:http://developer.android.com/reference/android/content/Intent.html#ACTION_CHOOSER

这指出:

这可以被用来作为一种替代 标准的活动选择器是当您尝试使用 开始一个有多个 可能匹配的活动时,系统显示的 与这些 行为差异:您可以 指定将出现在 活动选择器中的标题。 用户不需要 没有使 配套活动之一优选 活动的选项,以及所有可能的活动 将始终可见,即使他们目前正在标记为 首选活动 之一。

粗体文本表示系统默认显示复选框,除非开发人员另有规定,例如使用标志ACTION_CHOOSER。

我不知道你的系统为什么做别的。