【问题标题】:Successful share intent for androidandroid 的成功分享意图
【发布时间】:2012-02-06 07:21:55
【问题描述】:

如何判断用户是否成功完成了分享意图?例如,如果用户想通过 Facebook 或 Twitter 共享应用程序。

编辑:

我不是在研究如何创建Intent 以进行共享。我想知道用户是否真的分享了任何东西。还是用户点击了取消按钮。

【问题讨论】:

  • 为什么您的应用需要知道这一点?
  • 我想感谢用户分享我的应用程序。但如果他们不分享,我不想感谢他们。
  • @adamp 由于统计原因,此信息可能很重要。很高兴知道您的内容在哪里被共享最多以针对该目标进行优化。

标签: android android-intent


【解决方案1】:

您已使用Intent.ACTION_SEND,系统将显示您可以共享的应用程序列表(在设备上)。本网站解释了如何:

http://sudarmuthu.com/blog/sharing-content-in-android-using-action_send-intent

【讨论】:

  • 我不是在研究如何创建共享意图。我想知道用户是否真的分享了任何东西。还是用户点击了取消按钮。
【解决方案2】:

我认为没有可靠的方法来做到这一点。

您可以使用startActivityForResult() 发起发送,并希望处理Intent 的活动回复RESULT_OK。但是你不能一直依赖它来工作。

【讨论】:

  • 我想我可以只记录每个可能使用的应用程序的回复并从那里使用开关(“回复每个应用程序”)。
  • 嗨,我也有同样的问题。如果你成功了,你能分享你的结果吗?谢谢:)
  • 我发现大多数共享服务都以 0 响应,这与取消共享(也是 0)没有什么不同。 Twitter 返回 -1 但仅此而已。看起来我们无法追踪分享:(
  • 我测试了 WhatsApp、Signal、Twitter 和 Gmail,只有 WhatsApp 返回了 RESULT_OK。所有其他人都返回了 RESULT_CANCELED。
【解决方案3】:

对于 twitter - OnActivityResult 中的“数据”对象在用户取消分享时为空。

【讨论】:

  • 对我来说,Twitter 总是返回 null 数据,即使消息已发送
【解决方案4】:

找到适用于 Android >= 22 的选项。也许它可以帮助某人。

从 Android 22 开始,可以选择在 createChooser 方法中发送 IntentSender 对象。您可以为广播接收器创建待处理 Intent,您可以在其中获取用户单击的应用的包名称。

接收者:

public class MyReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    super.onReceive(context, intent);
    // do something here
}
}

清单:

<receiver android:name="MyReceiver" android:exported="false"/>

创建待处理意图:

PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, receiver, PendingIntent.FLAG_UPDATE_CURRENT);

然后在选择器意图中使用它:

startActivity(Intent.createChooser(share
                            , "some_title"
                            , pendingIntent.getIntentSender()));

然后在onReceiver就可以得到应用的包名:

String selectedAppPackage = String.valueOf(intent.getExtras().get(EXTRA_CHOSEN_COMPONENT))

来源:medium blogpost

【讨论】:

  • 但是话又说回来,这只告诉你选择的应用程序是什么,而不是分享是否成功。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-24
  • 1970-01-01
  • 1970-01-01
  • 2014-05-17
相关资源
最近更新 更多