向Android共享工作表添加自定义操作

时间:2014-12-16 10:31:43

标签: android android-intent android-sharing

我有一个应用程序,用户应该能够共享一些文本。现在我想为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);

这看起来有点像:

Share Dialog来源:http://developer.android.com/training/basics/intents/sending.html

但是现在我还想在Share-Service-Picker对话框中再添一个选项,在我自己的代码中触发自定义操作。即我希望用户能够收藏一个条目。所以除了通过短信,电子邮件,FB等分享之外,我还希望在该列表的顶部再添加一个项目,并说“#34;添加到收藏夹" (如果可能,包括图标)。

所以我的问题是,这是否可能?!?如果,如何:)

任何提示都表示赞赏!

1 个答案:

答案 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