通过意图将文本共享到应用程序帐户

Share Text via intent to application accounts

更新 AndroidManifest.xml

<activity android:name=".ui.MyActivity" > <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/plain" /> </intent-filter> </activity>

例如将应用程序添加到文本类型数据的共享列表中。 但是我如何添加选项以从我的应用程序中选择不同的帐户来共享?例如:

在Android 6.0 中添加的称为“Direct Share”。 基本步骤是:

  • 创建 ChooserTargetService

  • 的子类
  • that class' onGetChooserTargets() method 中,return 一个 ChooserTarget 对象的列表,表示您想让用户共享到的特定 accounts/tags/whatever

  • 将服务添加到您的清单中,使用 android:permission="android.permission.BIND_CHOOSER_TARGET_SERVICE"ChooserTargetService <intent-filter>

  • meta-data 添加到您的 ACTION_SEND activity 的 <intent-filter>,指向您的 ChooserTargetService

然后,当用户执行调用 ACTION_SEND 的操作时,您的 activity 是候选对象,Android 6.0+ 设备也会显示您的直接共享目标。

This sample app 演示了该方法。