只是想分享一个动态文本字符串+的URL应用程序。 原生的Android份额意图是设置正确,并努力完善与Twitter,Gmail等但是,正如许多人会想,它不与Facebook合作。 Appearantly因为Facebook不会接受文本intent.EXTRA_TEXT
场,只有一个网址。
好了,我给你们的问题:是否有岔开这取决于哪种方法选择分享的份额意图额外的方法吗? 例如,如果他们通过Gmail或Twitter共享,使用现有的String + URL
(所需要的选项) EXTRA_TEXT
,但如果他们选择通过Facebook共享,仅使用URL作为EXTRA_TEXT
。
不是真的想要实现Facebook Android SDK中的是内置的原生Android中这样一个简单的任务。
感谢您的时间和建议。
试过这样的事情,但由于其只检查是否共享选项存在(当份额弹出,而不是之后他们点击一个共享的方法),当他们选择的方法不响应它显然失败。
String shareBody = "app string text " + act_txt + " more text! Get the app at http://www.appurl.com";
PackageManager pm = view.getContext().getPackageManager();
List<ResolveInfo> activityList = pm.queryIntentActivities(sharingIntent, 0);
for(final ResolveInfo app : activityList) {
Log.i(TAG, "app.actinfo.name: " + app.activityInfo.name);
//if((app.activityInfo.name).contains("facebook")) {
if("com.facebook.katana.ShareLinkActivity".equals(app.activityInfo.name)) {
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "http://www.appurl.com");
startActivity(Intent.createChooser(sharingIntent, "Share idea"));
break;
} else {
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "app name");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
startActivity(Intent.createChooser(sharingIntent, "Share"));
break;
}
}