0

コンテンツに応じて、Facebook の ShareDialog を使用してリンクや写真を共有しています。しかし、私は奇妙な問題を見ています。私のshareActionProviderでfacebookアイコンをクリックすると、最初に空白の投稿でShareDialogが開きます。次に、クリックしてアプリケーションに戻ると、表示したいリンク/写真コンテンツを含む ShareDialog が再度開きます。

これが私が共有するために使用しているコードです。

....

shareActionProvider.setOnShareTargetSelectedListener(new MyActionProvider.OnShareTargetSelectedListener() {
       @Override
       public boolean onShareTargetSelected(MyActionProvider source, Intent intent) {
           // Recover selected application name for custom action handling
          final String appName = intent.getComponent().getPackageName();

          switch (appName) {
              case "com.facebook.katana":                 // Facebook

                        ShareLinkContent content = new ShareLinkContent.Builder()
                                .setContentUrl(Uri.parse("https://developers.facebook.com"))
                                .setContentTitle("Check it out!")
                                .build();

                        shareDialog.show(content);

                        break;

               ....
          }

誰もこの動作を見たことがありますか?

ありがとう!!

私が見ている両方の画面を、私が見ている順に添付しました。

最初の画面

2 番目のダイアログ画面

編集

コードをさらに追加しています。

カスタムを使用して FB に共有していますShareActionProvider(これは、Android ソース コードから正確にコピーされますsetOnShareTargetSelectedListener

私の活動でonCreate

FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
shareDialog = new ShareDialog(this);
shareDialog.registerCallback(
            callbackManager,
            shareCallback);

私がセットアップしたときShareActionProvider

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("text/plain");

if (shareActionProvider != null) {
    shareActionProvider.setShareIntent(shareIntent);
    //... this is before the setOnShareTargetSelected call ....
4

1 に答える 1