我有以下代码,可以启动一个共享表以与以下可靠的第三方应用程序共享一些数据
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