我有一个应用程序,用户应该能够共享一些文本。现在我想为Android提供的纯文本提供默认的共享选项。我使用以下代码执行此操作:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, text);
sendIntent.setType("text/plain");
Intent chooser = Intent.createChooser(sendIntent, "Share");
startActivity(chooser);
这看起来有点像:
来源:http://developer.android.com/training/basics/intents/sending.html
但是现在我还想在Share-Service-Picker对话框中再添一个选项,在我自己的代码中触发自定义操作。即我希望用户能够收藏一个条目。所以除了通过短信,电子邮件,FB等分享之外,我还希望在该列表的顶部再添加一个项目,并说“#34;添加到收藏夹" (如果可能,包括图标)。
所以我的问题是,这是否可能?!?如果,如何:)
任何提示都表示赞赏!
答案 0 :(得分:0)
Intent过滤器通知系统应用程序组件愿意接受哪些意图。与在“向其他应用程序发送简单数据”课程中使用操作ACTION_SEND构建意图的方式类似,您可以创建意图过滤器,以便能够通过此操作接收意图。您可以使用该元素在清单中定义intent过滤器。例如,如果您的应用程序处理接收文本内容,任何类型的单个图像或任何类型的多个图像,您的清单将如下所示:
<activity android:name=".ui.MyActivity" >
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
来自Receiving Simple Data from Other Apps:Update Your Manifest