适用于所有可共享应用程序的Android Intent.ACTION_SEND

时间:2011-08-19 07:03:48

标签: android

我有一个应用程序,我想使用gmail / google + / facebook / bluetooth或任何可共享的应用程序共享一些文本数据。

我的申请中有以下代码。

final Intent emailIntent = new Intent(Intent.ACTION_SEND); 

emailIntent.setType("plain/text");
emailIntent.putExtra(Intent.EXTRA_TEXT, "Test Data");
startActivity(Intent.createChooser(emailIntent, "Select Application"));

但它只显示Gmail和蓝牙。不是其他已安装的应用,例如google +

3 个答案:

答案 0 :(得分:2)

Akshay是对的。将MIME类型更改为emailIntent.setType("text/plain");,您将获得更多选项。

答案 1 :(得分:1)

只有那些注册普通/文本mime类型的应用才会可见。好像Google+没有。

答案 2 :(得分:0)

您可以执行一些操作,将google +与选择器中的其他应用包括在一起。

emailIntent.setType("text/*");

'text / *'将打开所有设置为处理文本mimetypes的应用程序,包括text / plain和text / html


emailIntent.setType("*/*");

如果您真的想要“所有可共享的应用程序”......这段代码将完全打开所有可能的内容。但是,您会发现对于像Facebook这样的某些应用程序,您有多个选择...但是值得尝试显示选择器可能的所有应用程序。

emailIntent.setType("text/plain");

Google+和大多数其他应用都可以在我的Galaxy标签上使用“text / plain”,但它会让一些人忽略这些图片。请注意,“普通/文字”是向后和不正确的。

注意:在我的应用程序中,我使用了多个共享按钮,因为我需要使用“image / jpg”进行MMS工作,而“text / plain”则用于其他所有内容......