2

写真をキャプションと共有したいのですが、テキストキャプションが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);
4

1 に答える 1

5

Facebook のプラットフォーム ポリシーに従って、共有ダイアログに を使用して事前入力することはできません Intent.EXTRA_TEXT通常、これはバグであると考えられていますが、ここおよびここに提出されたバグ レポートによると、Facebook はこれが事実ではないことを明確に述べています (バグではありません)。

プラットフォーム ポリシー、具体的にはプラットフォーム ポリシー IV.2について詳しく読むことができます。

プラットフォーム ポリシー IV.2 からの引用:

ユーザーがワークフローの早い段階でコンテンツを手動で生成しない限り、次の製品に関連付けられたフィールドに事前入力しないでください: ストリーム ストーリー (Facebook.streamPublish および FB.Connect.streamPublish の user_message パラメーター、およびストリームのメッセージ パラメーター)。公開)、写真 (キャプション)、ビデオ (説明)、メモ (タイトルとコンテンツ)、リンク (コメント)、および Jabber/XMPP。

これらのフィールドは、ユーザーが自分自身を表現するためのものです。これらのフィールドを事前に入力すると、ユーザーの声の信憑性が損なわれます。

要するに、(残念ながら) を使用してアップロードしている写真にキャプションを追加することはできませんIntents。それを行う唯一の方法は、アプリに Facebook SDK を統合することです。彼らがサンプルアプリHackbookでそれを行う方法の例を見るには、このリンクを参照 し、キャプション付きの写真のアップロードを扱っている263 行までスクロールします。

于 2012-11-23T05:42:51.877 に答える