我有以下代码,可以启动一个共享表以与以下可靠的第三方应用程序共享一些数据

ShareCompat.IntentBuilder intentBuilder = ShareCompat.IntentBuilder.from(activity)
                .setChooserTitle(title)
                .setSubject(subject)
                .setText(message)
                .setType(type.typeText);


我想实现某种回调,以便我知道用户是否选择了共享提供程序之一,或者用户只是取消并单击返回键以退出共享表。

这可能吗?

最佳答案

使用隐式意图来完成针对未知应用程序的共享类型。现在无法知道任何应用程序都将在您的隐式意图上启动,并且无法使用以下检查方法来处理该问题:

  if (shareIntent.resolveActivity(getPackageManager()) != null)
  {
      startActivity(shareIntent);
  }


现在,如果我们的隐式意图将不返回任何数据,则使用startActivityForResult()。在您的情况下,您使用的是ShareCompat,唯一的功能是共享以startActiviy(Intent)开头的数据,或者startActivityForResult(Intent)不会影响结果,不会通知您任何已执行或未执行的操作。

有关更多信息,请访问以下link

08-05 08:09