如何确认Android共享意图是否成功或完成
有没有办法确认安卓系统的共享意向是成功还是失败?(例如,如果我共享一篇Facebook帖子,我想知道它是否成功发布或是否被取消。) 下面是我用来分享的Android意图代码。目前,它会启动一个对话框,允许用户选择要共享到的应用程序:如何确认Android共享意图是否成功或完成,android,facebook,android-intent,share,android-sharing,Android,Facebook,Android Intent,Share,Android Sharing,有没有办法确认安卓系统的共享意向是成功还是失败?(例如,如果我共享一篇Facebook帖子,我想知道它是否成功发布或是否被取消。) 下面是我用来分享的Android意图代码。目前,它会启动一个对话框,允许用户选择要共享到的应用程序: Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND); shareIntent.setType("text/plain"); shareIntent.putExtra(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));
就我个人而言,我正要说“使用
startActivityForResult()
”并检查返回的内容。然而,正如你所能做的,事情并没有那么简单。如果用户取消了意图,则返回的数字与意图完成时的数字相同(对于大多数应用)
最终,为了实现更简单的共享意图,目前一般来说,您无法检查它是否成功。如果是FacebookShareDialog,请使用请求代码构建对话框,然后打开活动检查请求代码和结果代码。为此,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
}
谢谢你的回答。如果我想特别使用Facebook/Twitter/E-mail来实现共享目的,我如何确认共享是否成功?对于一般共享目的,你必须测试所有三个,看看它们成功后会返回什么结果,然后取消。Twitter至少能起作用,但对于Facebook,我怀疑它能起作用。现在,这只是猜测,超出了这个问题的范围,但“特定意图”可能会起作用。但是,有哪些特定的意图/活动链接到Facebook+Twitter(+Email?)API,然后返回成功或失败的值?换句话说,如果你想知道这些成功与否,你可能需要自己处理。但是,如果已经有特定的意图(或活动)用于这些目的,请使用它们。我希望在用户共享成功后调用api。那我该怎么办?请帮助。为什么你需要知道用户是否共享了它?这是为了跟踪用户的行为。你知道你不允许鼓励共享吗?不允许您预先填充消息参数?@WizKid我使用外部url构建了一个共享意图,我正在寻找一个解决方案来删除共享意图成功后生成的图像Facebook可能会稍后再下载。此类在最新版本的SDK中不再可用。