推荐广播接收器未接收

Referral Broadcast Receiver is not receiving

你好,我正在 android 工作,我使用 INSTALL_REFERRER 来跟踪来源和媒介以及营销目的,并在用户来自特定来源时向他们支付一些资金。

所以这对应用程序非常重要,但目前它在 50% 的情况下有效,但几乎 50% 的情况下无效。我没能找出为什么它表现得很奇怪。

相信大家都更新了Google玩版5.x.xx.

我就是这样做的。我已经在 Whosebug 上阅读了我的线程,但对我没有任何帮助。 :(

<receiver
    android:exported="true"
    android:name="com.example.InstallReferrerReceiver" >
    <intent-filter >
        <action android:name="com.android.vending.INSTALL_REFERRER" />
    </intent-filter>
</receiver>

提前致谢。

跟进对问题评论的回复 - BroadcastReceiver 并不意味着执行任何长时间的操作,因为它会很快终止(这就是为什么你获得约 50% 的成功率 - 它 有时 有效,但不是为它设计的)。

阅读 BroadcastReceiver documentationReceiver Lifecycle 部分的更多信息 - 具体来说,引用以下内容:

anything that requires asynchronous operation is not available, because you will need to return from the function to handle the asynchronous operation, but at that point the BroadcastReceiver is no longer active and thus the system is free to kill its process before the asynchronous operation completes.

我建议您使用 IntentService 以便在您的 onReceive 中调用 startService 方法来启动 IntentService 在其 onHandleIntent 方法中您执行对 Web 服务的实际调用。

您可以使用用于调用 startServiceIntentIntentService 提供来自 BroadcastReceiver 的信息。