【问题标题】:Intercept INSTALL_REFERRER and then forward on to Google AnalyticsReceiver拦截 INSTALL_REFERRER 然后转发到 Google AnalyticsReceiver
【发布时间】:2011-02-13 12:11:42
【问题描述】:

我编写了一个安装接收器来确定应用程序何时通过市场安装。但是,如果安装在应用程序中,我还想将 INSTALL_REFERRER 广播传递到其他接收器,例如 Google Analytics AnalyticsReceiver。重要的是,我不知道是否安装了其他接收器,因为我的接收器将被其他开发人员在他们的应用程序中使用。

目前,我收到了广播,完成后我打电话:

AnalyticsReceiver receiver = new AnalyticsReceiver();

receiver.onReceive(context, intent);

问题是AnalyticsReceiver 类可能不存在。

如果我不确定应用是否使用AnalyticsReceiver,我该如何传递广播?

或者,Android 本身会确保安装的每个接收器都能接收到广播吗?

非常感谢!

【问题讨论】:

  • 经过更多研究后,我相当确定您不能拥有多个安装接收器,因此有关如何“传递”安装广播的任何提示都会很棒!

标签: android google-analytics installation broadcastreceiver


【解决方案1】:

这并不能真正回答问题,但INSTALL_REFERRER 的唯一预期目的地是 Google Analytics 库,因此对广播中包含的数据(或与广播相关的任何内容)零保证,所以你不应该依赖它。

附带说明,这里有一些相关的 S.O.问题:

【讨论】:

    【解决方案2】:

    罗曼的回答并不完全正确。他们没有逐步说明,但如果您需要,Google 自己建议使用您自己的广播接收器。我确实认为他们最近添加了这个简介,但不确定什么时候。当我回答他链接的一个问题时,我很肯定它不存在。

    From their guide:

    注意:每个广播接收器类只能指定一个 应用。如果您需要合并两个或更多 来自不同 SDK 的广播接收器,您需要创建自己的 自己的 BroadcastReceiver 类,将接收所有广播并调用 每种广播类型的适当广播接收器。

    这似乎也回答了你是否可以盲目重播的问题,至少根据谷歌的说法。

    【讨论】:

      猜你喜欢
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-21
      • 2016-01-14
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      相关资源
      最近更新 更多