android intent action_send选项只有一次

时间:2013-08-02 06:20:49

标签: android android-intent share

您有一个带有此代码的java来创建共享意图

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "text" );
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "subject" );
sendIntent.setType("text/plain");

它现在会创建一个可用应用程序弹出窗口并询问您是否要使用所选应用程序始终或只是一次是否有设置将其置于一次并删除此2个按钮?

在Android中是否有像Intent.setOption这样的选项('只需一次')?

由于

Android device

3 个答案:

答案 0 :(得分:17)

使用

Intent sharingIntent = new Intent ( android.content.Intent.ACTION_SEND );
sharingIntent.setType ( "text/plain" );
sharingIntent.putExtra ( android.content.Intent.EXTRA_TEXT, body.toString () );
startActivity(Intent.createChooser(sharingIntent, "Share using?"));

而不是

startActivity(sharingIntent);

答案 1 :(得分:1)

参见示例:

final Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.putExtra(android.content.Intent.EXTRA_TEXT, "Some text");
Intent chooser = Intent.createChooser(sendIntent, "Share Using...");
this.cordova.startActivityForResult(this, chooser, 0);

这里的重要一行是:

Intent chooser = Intent.createChooser(sendIntent, "Share Using...");

这是一种方便的技巧,用于将您的意图包装在" custom"选择器。 或者,您可以从ACTION_CHOOSER意图开始,并将目标意图添加为EXTRA_INTENT。

答案 2 :(得分:0)

您可以构建一个可以处理应用程序中的意图的应用程序列表,并在您自己的对话框中显示该列表,在这种情况下,您可能不希望有任何按钮,只需在用户触摸时将意图发送到该应用程序它