如何确认Android Share Intent成功或完成

时间:2014-12-02 03:10:42

标签: android facebook android-intent share android-sharing

有没有办法确认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));

2 个答案:

答案 0 :(得分:9)

就个人而言,我正要说"使用startActivityForResult()"并检查返回的内容。但是,正如read more here一样,它并不那么简单。如果用户取消了意图,则会返回相同的数字,就像意图已完成一样(对于大多数应用程序而言)。

最终,目前为了更简单的分享意图一般,您无法检查它是否成功。

答案 1 :(得分:0)

如果使用delayedDialog使用requestCode构建对话框,则onActivity检查请求代码和结果代码。为此,Facebook Sdk名称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

    }