Android Facebook 应用分享意向
Android facebook app share intent
我一直在尝试在 Facebook share intent 上分享文本内容,但似乎出于某种原因它不允许我们分享文本。有谁知道他们为什么这样做?共享文本的唯一方法是使用他们的 SDK,这需要时间。只是需要一个理由来浪费我的时间。谢谢
Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT,
getString(R.string.share_message_facebook));
PackageManager pm = getActivity().getPackageManager();
List<ResolveInfo> activityList = pm.queryIntentActivities(shareIntent,
0);
for (final ResolveInfo app : activityList) {
if ((app.activityInfo.name).contains("com.facebook")
&& !(app.activityInfo.name)
.contains("com.facebook.messenger")) {
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);
startActivity(shareIntent);
return;
}
}
根据他们的 policy,您必须将控制权交给您应用的用户。如果您想代表他们publish/share,他们应该事先允许发布权限。因此,您应该使用 Facebook SDK。
我一直在尝试在 Facebook share intent 上分享文本内容,但似乎出于某种原因它不允许我们分享文本。有谁知道他们为什么这样做?共享文本的唯一方法是使用他们的 SDK,这需要时间。只是需要一个理由来浪费我的时间。谢谢
Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT,
getString(R.string.share_message_facebook));
PackageManager pm = getActivity().getPackageManager();
List<ResolveInfo> activityList = pm.queryIntentActivities(shareIntent,
0);
for (final ResolveInfo app : activityList) {
if ((app.activityInfo.name).contains("com.facebook")
&& !(app.activityInfo.name)
.contains("com.facebook.messenger")) {
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);
startActivity(shareIntent);
return;
}
}
根据他们的 policy,您必须将控制权交给您应用的用户。如果您想代表他们publish/share,他们应该事先允许发布权限。因此,您应该使用 Facebook SDK。