我们熟悉FB发送意图问题(在官方fb app EXTRA TEXT字段中工作不正常)。两年多来这个问题还没有很好的解决方案。我搜索了很多网站,发现了一些像facebook api,自定义代码的技巧。
起初我试过这个。这是在twiter,谷歌+,fb massanger等工作,但不是在Facebook应用程序。
String temp = "text to share for testing";
//temp = tv1.getText().toString();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, temp);
startActivity(Intent.createChooser(intent,"Share"));
Facebook api
https://github.com/facebook/facebook-android-sdk
我不明白这一点。所以我不想用它。
示例自定义代码
Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Content to share");
PackageManager pm = v.getContext().getPackageManager();
List<ResolveInfo> activityList = pm.queryIntentActivities(shareIntent, 0);
for (final ResolveInfo app : activityList) {
if ((app.activityInfo.name).contains("facebook")) {
final ActivityInfo activity = app.activityInfo;
final ComponentName name = new ComponentName(activity.applicationInfo.packageName, activity.name);
shareIntent.addCategory(Intent.CATEGORY_LAUNCHER);
shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
shareIntent.setComponent(name);
v.getContext().startActivity(shareIntent);
break;
}
}
此自定义代码对我不起作用。它说v无法解析类型。我试图给出一个类似String的对象,但不幸的是没有工作。
现在我的问题是,有没有其他方法或这个问题的最佳解决方案是什么?