Amo*_*pta 9 twitter android facebook android-intent
我想让我的Android应用程序的用户在fb,twitter上发布一些数据并将其通过电子邮件发送给某人.我正在使用Intent.ACTION_SEND.我可以添加电子邮件主题并添加测试作为Intent.EXTRA_TEXT.但我希望将不同的文本发送给不同的应用程序.就像要发送到Twitter的文本一样短,要发送到Facebook的文本将有链接和镜头描述,并且ein电子邮件具有所有内容.我怎样才能实现这样的功能?最多我可以让facebook和twitter采用相同的文字,但不同于电子邮件中的内容.
首先,创建一个Intent来表示您想要发送电子邮件的内容,发布Twitter等.在Intent.EXTRA_TEXT和主题中放置一些好的默认值.然后用你的意图调用Intent.createChooser().此方法将返回一个Intent,表示用户选择的Activity.现在,我们在这里添加您想要的自定义.检查返回的Intent,如下所示:
Intent intentYouWantToSend = new Intent(Intent.ACTION_SEND);
intentYouWantToSend.putExtra(Intent.EXTRA_TEXT, "Good default text");
List<ResolveInfo> viableIntents = getPackageManager().queryIntentActivities(
intentYouWantToSend, PackageManager.MATCH_DEFAULT_ONLY);
//Here you'll have to insert code to have the user select from the list of
//resolve info you just received.
//Once you've determined what intent the user wants, store it in selectedIntent
//This details of this is left as an exercise for the implementer. but should be fairly
//trivial
if(isTwitterIntent(selectedIntent)){
selectedIntent.putExtra(Intent.EXTRA_TEXT, "Different text for twitter");
}
else if(isFacebookIntent(selectedIntent)){
selectedIntent.putExtra(Intent.EXTRA_TEXT, "Different text for facebook");
}
startActivity(selectedIntent);
Run Code Online (Sandbox Code Playgroud)
通过检查Intent.createChooser返回的Intent,我们可以确定在启动之前我们需要如何修改它.您必须自己实现isTwiterIntent和isFacebookIntent函数.我想这会相对简单,因为你可能只需要检查Intent的上下文.我会做更多的研究,看看我是否找不到确切的解决方案,以确定Intent是用于推特或Facebook,还是其他什么,并尝试给你一个更完整的答案.
归档时间: |
|
查看次数: |
1751 次 |
最近记录: |