ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

android-在启动应用程序之前未收到INSTALL_REFERRER

2019-10-28 18:26:18  阅读:239  来源: 互联网

标签:android-broadcast android-intent broadcastreceiver android


我想在自己的接收方处接收INSTALL_REFERRER的意图.
我实现了接收器

public class InstallReferrerReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
           Log.d("Broadcast", "RECEIVED!");
        }
}

并添加清单

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

当我想测试接收器时,我安装我的应用程序(不启动)并通过adb发送广播

am broadcast -a com.android.vending.INSTALL_REFERRER --es "referrer" "utm_medium=partner&utm_campaign=partner_name"

但是看不到任何日志.一顿后,它可以正常工作并收到意图.

来自“测试Google Play广告系列衡量”

To broadcast the INSTALL_REFERRER intent to your application:

  1. Verify that your application is not currently running.
  2. Open a terminal and run this command: …

但是在我第一次启动应用程序之前,我的接收者没有收到意图.这是正确的行为吗?如果我从带有引荐来源商参数的市场安装应用程序时收到此意向书?

谢谢

解决方法:

在Android 3.1上,应用程序的BroadcastReceiver(或任何其他组件)在用户至少启动一次应用程序之前不会被触发.在此之前,它处于“停止”状态

is an intended behaviour并防止了一些安全隐患.

标签:android-broadcast,android-intent,broadcastreceiver,android
来源: https://codeday.me/bug/20191028/1954417.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有