Android Facebook 分享意向
Android Facebook Share Intent
我一直在使用以下代码分享到 facebook 和任何其他应用程序:
private void initShareIntent(String type, String title, String link) {
boolean found = false;
Intent share = new Intent(android.content.Intent.ACTION_SEND);
share.setType(Constants.MIMETYPE_TEXT_PLAIN);
List<ResolveInfo> resInfo = getContext().getPackageManager().queryIntentActivities(share, 0);
if (!resInfo.isEmpty()) {
for (ResolveInfo info : resInfo) {
if (info.activityInfo.packageName.toLowerCase().contains(type) ||
info.activityInfo.name.toLowerCase().contains(type)) {
if (title != null && link != null) {
share.putExtra(Intent.EXTRA_SUBJECT, unescapeTitle(title));
share.putExtra(Intent.EXTRA_TEXT, link.replace(Constants.HTTP_SCHEME, Constants.HTTPS_SCHEME));
share.setPackage(info.activityInfo.packageName);
}
found = true;
break;
}
}
if (!found)
return;
getContext().startActivity(share);
}
}
我提供单词 facebook 作为类型变量。在最长的时间内,代码运行良好并打开了 facebook 共享对话框。
但是现在,相同的代码打开 Messenger 而不是启动共享。有没有办法强制它打开 facebook 而不是 Messenger?
if info.activityInfo.packageName.toLowerCase().startsWith("com.facebook.katana"))
{
intent.setPackage(info.activityInfo.packageName);
facebookAppFound = true;
break;
}
我一直在使用以下代码分享到 facebook 和任何其他应用程序:
private void initShareIntent(String type, String title, String link) {
boolean found = false;
Intent share = new Intent(android.content.Intent.ACTION_SEND);
share.setType(Constants.MIMETYPE_TEXT_PLAIN);
List<ResolveInfo> resInfo = getContext().getPackageManager().queryIntentActivities(share, 0);
if (!resInfo.isEmpty()) {
for (ResolveInfo info : resInfo) {
if (info.activityInfo.packageName.toLowerCase().contains(type) ||
info.activityInfo.name.toLowerCase().contains(type)) {
if (title != null && link != null) {
share.putExtra(Intent.EXTRA_SUBJECT, unescapeTitle(title));
share.putExtra(Intent.EXTRA_TEXT, link.replace(Constants.HTTP_SCHEME, Constants.HTTPS_SCHEME));
share.setPackage(info.activityInfo.packageName);
}
found = true;
break;
}
}
if (!found)
return;
getContext().startActivity(share);
}
}
我提供单词 facebook 作为类型变量。在最长的时间内,代码运行良好并打开了 facebook 共享对话框。
但是现在,相同的代码打开 Messenger 而不是启动共享。有没有办法强制它打开 facebook 而不是 Messenger?
if info.activityInfo.packageName.toLowerCase().startsWith("com.facebook.katana"))
{
intent.setPackage(info.activityInfo.packageName);
facebookAppFound = true;
break;
}