Android Facebook分享意图



我一直在使用以下代码分享到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;
}

最新更新