我想与标题共享照片,但文字标题不在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);
答案 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 行,他们处理上传照片的问题标题。