使用Android中的Intent在Facebook上与标题共享多个图像

时间:2014-03-11 15:20:07

标签: java android facebook android-intent

我想使用Intent在Facebook上与标题共享多个图像。我尝试了一些方法,但它不起作用。我可以分享照片而不是标题。你能帮我吗?感谢!!!

我的分享功能

private void share(String nameApp, ArrayList<String> imagePath, String text) {
        try {
            List<Intent> targetedShareIntents = new ArrayList<Intent>();
            Intent share = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
            share.setType("image/*");
            List<ResolveInfo> resInfo = getActivity().getPackageManager().queryIntentActivities(share, 0);
            if (!resInfo.isEmpty()) {
                for (ResolveInfo info : resInfo) {
                    Intent targetedShare = new Intent(
                            android.content.Intent.ACTION_SEND_MULTIPLE);
                    targetedShare.setType("image/*"); 
                    if (info.activityInfo.packageName.toLowerCase().contains(nameApp)           
                            || info.activityInfo.name.toLowerCase().contains(nameApp)) {
                        ArrayList<Uri> uris = new ArrayList<Uri>();
                        for (int i = 0; i < nImageCount; i++){
                            uris.add(Uri.parse("file://" + imagePath.get(i)));
                        }
                        targetedShare.putExtra(Intent.EXTRA_TITLE, text);
                        targetedShare.putExtra(Intent.EXTRA_TEXT, text);
                        targetedShare.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
                        targetedShare.setPackage(info.activityInfo.packageName);
                        targetedShareIntents.add(targetedShare);
                    }
                }
                Intent chooserIntent = Intent.createChooser(
                        targetedShareIntents.remove(0), "Select app to share");
                chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS,
                        targetedShareIntents.toArray(new Parcelable[] {}));
                startActivity(chooserIntent);
            }
        } catch (Exception e) {
        }
    }

2 个答案:

答案 0 :(得分:0)

首先,你没有使用EXTRA_SUBJECT,这是我期望“标题”的地方。

其次,EXTRA_TITLE的文档中没有ACTION_SEND_MULTIPLE

第三,不要求任何应用程序必须尊重EXTRA_SUBJECT的{​​{1}}。

答案 1 :(得分:0)

我从Facebook开发者那里得到了答案。由于他们的政策,他们不再支持它了。

他们说“这个问题将被设计关闭,因为我们的API不支持为用户预先填写消息,如平台策略IV下的我们的策略文档(https://developers.facebook.com/docs/guides/policy/application_integration_points/)所示。 2"

  

https://developers.facebook.com/x/bugs/332619626816423/