9

Android で共有インテントが成功したか失敗したかを確認する方法はありますか? (たとえば、Facebook の投稿を共有する場合、投稿が成功したかどうか、またはキャンセルされたかどうかを知りたいです。)

以下は、共有に使用する Android インテント コードです。現在、ダイアログを起動して、ユーザーが共有するアプリを選択できるようにします。

Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, body);    
activity.startActivity(Intent.createChooser(shareIntent, title));
4

2 に答える 2

14

個人的には、「使用」と言ってstartActivityForResult()、何が返されるかを確認しようとしていました。ただし、ここで詳細を読むことができるように、それほど単純ではありません。インテントがユーザーによってキャンセルされた場合、インテントが完了した場合と同じ数が返されます (ほとんどのアプリケーションの場合)。

最終的に、現時点では、より単純な共有インテント全般については、成功したかどうかを確認できません。

于 2014-12-02T03:23:22.053 に答える
1

FacebookShareDialog の場合、requestCode を使用してダイアログを作成し、次に onActivity でリクエスト コードと結果コードを確認します。このために、Facebook Sdk Name UiLifecycleHelper に 1 つのクラスがあります。

onCreate メソッドで

uiHelper = new UiLifecycleHelper(this, null);
uiHelper.onCreate(savedInstanceState);




 FacebookDialog fbShardialog = new FacebookDialog.ShareDialogBuilder(
                        MainActivity.this)
                        .setLink("http://www.claro.com.ar/")
                        .setPicture("imagepath").setRequestCode(12)
                        .build();

                uiHelper.trackPendingDialogCall(fbShardialog.present());



OnActivityResult


 if (requestCode == 12) {
        if (resultCode == RESULT_OK) {
            //  show sucess message

        }
 else
//show failure message

    }
于 2015-05-13T06:34:59.163 に答える