facebook-共有テキストとリンクのAndroidシェアインテント


Answers

通常のAndroid共有インテントを使用する場合、残念ながらFacebookの共有インテントではURLが1つだけ(http://があることを確認してください)、追加のテキストメッセージは必要ありません。 それは本当に意味をなさない奇妙な制限です。

実際の公式の別のFacebook Android SDKをプロジェクトで使用して、完全な共有機能を利用する必要があります。 それは余分な仕事です。

私は同様の問題に遭遇した。 結局のところ、私がしたことは、意図を枝分かれさせることでした。 彼らがFacebookを介して(通常のアンドロイド共有インテントで)共有することを選択した場合は、URLのみを持つ新しい共有インテントを作成し、Facebookにプッシュします。 他のすべての共有オプション(ツイッター、メッセージ、電子メール)は正常な動作をします。

私の質問と解決策はここにあります:

共有する方法に応じてAndroid Share Intentを追加する

  String shareBody = "app string text " + act_txt + " more text! Get the app at http://www.appurl.com";

PackageManager pm = view.getContext().getPackageManager();
List<ResolveInfo> activityList = pm.queryIntentActivities(sharingIntent, 0);
for(final ResolveInfo app : activityList) {
     Log.i(TAG, "app.actinfo.name: " + app.activityInfo.name);
    //if((app.activityInfo.name).contains("facebook")) {
          if("com.facebook.katana.ShareLinkActivity".equals(app.activityInfo.name)) {


        sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "http://www.appurl.com");
        startActivity(Intent.createChooser(sharingIntent, "Share idea"));
        break;
    } else {
        sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "app name");
        sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
        startActivity(Intent.createChooser(sharingIntent, "Share"));
        break;
    }
}
Question

私はFacebookの何かを投稿するためにAndroidの共有の意図を使用しようとしています。 これは次のようになります。

shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shareIntent.setType("text/plain");
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Free education for all! http://linkd.in/xU8mCc");
startActivity(shareIntent);

私の投稿には、テキストとリンクの両方があります。 しかし、メッセージがFacebookに投稿されたときには、メッセージだけがリンクとなります。 私は様々なエクストラを試みましたが、何も動作しません。

誰もがこの問題に直面し、それを解決しましたか? 私はFacebookのアプリのバージョン1.8.1持っている

編集:リンクを削除しようとしましたが、Facebookのアプリケーションではメッセージが表示されません(表示される空白のメッセージが表示されます)。 アプリがプレーンテキストメッセージを完全に無視しているように見える。 私は夢中になっている! これは、テキストメッセージが(共有目的で)投稿できないfbアプリの主要なバグですか?




私のアプリではFacebook SDKを統合して、壁に引用文[プレフィックステキスト]を共有できるようにしました。 FB SDKを使用すると、これを行うことができます。 それは私のアプリで動作し、私は5K以上のユーザーが同じを使用している。

明らかにこれはFBの方針に反するものではありません。なぜなら、これがうまくいかないような警告や問題はないからです。

同じコードスニペットはここで見つけることができますが、

広く使われているAndroidアプリには、事前に入力されたテキストフィールドとのFacebook共有がありますか?






Links