9

有没有办法确认 Android 中的 Share Intent 是成功还是失败?(例如,如果我分享一个 Facebook 帖子,我想知道它是否成功发布或知道它是否被取消。)

下面是我用来分享的 Android Intent 代码。目前,它会启动一个对话框以允许用户选择要共享到的应用程序:

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()”并检查返回的内容。但是,您可以在此处阅读更多内容,但并非如此简单。如果意图被用户取消,则返回与意图完成相同的数字(对于大多数应用程序)。

最终,目前一般来说,对于更简单的 Share Intent ,您无法检查它是否成功。

于 2014-12-02T03:23:22.053 回答
1

在 FacebookShareDialog 的情况下,使用 requestCode 构建您的对话框,然后 onActivity 检查请求代码和结果代码。为此,Facebook Sdk Name UiLifecycleHelper 中有一个类

在 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 回答