通过意图将文本共享到应用程序帐户
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”。
基本步骤是:
的子类
在 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 演示了该方法。
更新 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”。 基本步骤是:
- 的子类
在 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 演示了该方法。