文字标题不在Facebook上分享

时间:2012-11-23 05:31:32

标签: android android-intent

我想与标题共享照片,但文字标题不在Facebook上分享有没有办法在Facebook上使用发送意图与照片分享文字。

List<Intent> targetedShareIntents = new ArrayList<Intent>();
Intent share = new Intent(android.content.Intent.ACTION_SEND);
share.setType("image/jpeg");
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(share, 0);
if (!resInfo.isEmpty()){
    for (ResolveInfo info : resInfo) {
        Intent targetedShare = new Intent(android.content.Intent.ACTION_SEND);
        targetedShare.setType("image/jpeg"); // put here your mime type
        if (info.activityInfo.packageName.toLowerCase().contains(nameApp) || info.activityInfo.name.toLowerCase().contains(nameApp)) {
            targetedShare.putExtra(Intent.EXTRA_SUBJECT, "Virtual Mirror Photo");
            targetedShare.putExtra(Intent.EXTRA_TEXT,"This photo is created by Virtual Mirror App.\n\nInfoshore Team");
            targetedShare.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(imagePath)) );
            targetedShare.setPackage(info.activityInfo.packageName);
            targetedShareIntents.add(targetedShare);
            isAppAvaiable = true;
        }
    }
    Intent chooserIntent = Intent.createChooser(targetedShareIntents.remove(0), "Select app to share");
    chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedShareIntents.toArray(new Parcelable[]{}));
    startActivity(chooserIntent);

1 个答案:

答案 0 :(得分:5)

根据Facebook的平台政策,您无法使用预填充共享对话框 Intent.EXTRA_TEXT。它通常被认为是一个错误,但根据提交的here以及here的错误报告,Facebook明确提到情况并非如此(这不是错误)。

您可以详细了解他们的Platform Policies平台政策IV.2

引用平台政策IV.2:

  

您不得预先填写与以下相关的任何字段   产品,除非用户先前手动生成了内容   工作流程:流故事(user_message参数为   Facebook.streamPublish和FB.Connect.streamPublish,以及消息   stream.publish的参数),照片(标题),视频(描述),   注释(标题和内容),链接(评论)和Jabber / XMPP。

     

这些字段供用户表达自己。预灌装   这些领域侵蚀了用户声音的真实性。

最重要的是(不幸的是),您无法使用Intents为要上传的照片添加标题。唯一可行的方法是将Facebook SDK集成到您的应用程序中。要查看他们如何在示例应用 Hackbook 中执行此操作的示例,请参阅this link并向下滚动到 263 行,他们处理上传照片的问题标题。