Android ACTION_SEND Intent 和 Google Analytics - 我怎么知道他们选择了什么?

标签 android google-analytics twitter android-intent facebook-java-api

我们正在使用 Google Analytics 来跟踪我们的应用程序的哪些功能正在被使用以及如何使用,但这个问题也适用于您想知道用户在调用 ACTION_SEND Intent 后做了什么的任何情况。

基本上,我想使用此功能允许用户共享内容(电子邮件、推特、Facebook 等)。使用现有的 Android Intent 功能效果非常好,允许用户选择他们喜欢的电子邮件客户端、推特应用程序,等等。

        Intent sharingIntent = new Intent(Intent.ACTION_SEND);
        //Text seems to be necessary for Facebook and Twitter
        sharingIntent.setType("text/plain");
        sharingIntent.putExtra(Intent.EXTRA_TEXT, "whatever I want to share");
        startActivity(Intent.createChooser(sharingIntent,"Share using"));

但是,我找不到任何方法来了解用户从 Intent 返回时做了什么。我研究过使用 startActivityForResult 代替,但这似乎只返回他们是否完成或取消共享(甚至这似乎在不同的应用程序中实现不一致) - 它当然没有给我任何信息他们做了什么。

在这一点上,为了获得我的分析,我似乎必须使用我自己的自定义操作及其各自的 SDK 通过 Facebook 和 Twitter 实现共享?

这似乎是一种耻辱,因为它破坏了 Android 的一项优秀功能 - 能够使用您喜欢的电子邮件、Twitter、Facebook 和浏览器应用程序....

最佳答案

如果您要自己创建意向选择列表,而不是允许 Intent.createChooser为你做这件事,你可以在自己执行之前看到选择了哪个 Intent 。

Here is how Gallery3D does it , 来自 Android 源代码。它向包管理器查询与您要求运行的 Intent 相匹配的包,并返回 <a href="http://developer.android.com/intl/de/reference/android/content/pm/ResolveInfo.html" rel="noreferrer noopener nofollow">ResolveInfo</a> 的列表。您可以使用它向用户展示他们的选择,然后记录他们的选择并使用他们的选择启动 Activity。

关于Android ACTION_SEND Intent 和 Google Analytics - 我怎么知道他们选择了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4949766/

相关文章:

iphone - 移动应用程序中的 OAuth secret

android - GTM 将屏幕名称设置为(未设置)

google-analytics - 为什么 Google Analytics(分析)中这两个目标流的转化次数不同

google-analytics - Google Analytics(分析): Site Speed average always at 0. 00

ios - 使用 SLRequest 在推文中发布图片 - 图片未显示

android - 优化:访问字段与方法

android - 形状背景渐变中的淡入淡出动画

android - 捕捉图像时保存陀螺仪数据

Python Twitter 工具和 gzip 错误 "IOError: CRC check failed"

url - 使用JQuery获取Twitter个人资料图片网址