Android安装接收器广播侦听器获取空引用

Android安装接收器广播侦听器获取空引用,android,broadcastreceiver,referrer,Android,Broadcastreceiver,Referrer,我试图在install_RECEIVER广播侦听器中获取install Referer。我收到事件时没有任何问题,但是referer字符串始终为空。我的舱单包括: <service android:name="com.myname.myapp.InstallReceiver"/> <receiver android:name="com.myname.myapp.InstallReceiver" android:exported="true"> <

我试图在install_RECEIVER广播侦听器中获取install Referer。我收到事件时没有任何问题,但是referer字符串始终为空。我的舱单包括:

<service android:name="com.myname.myapp.InstallReceiver"/>
    <receiver android:name="com.myname.myapp.InstallReceiver" android:exported="true">
      <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER" />
      </intent-filter>
    </receiver>
为了进行测试,我使用以下命令:

adb shell
am broadcast -a com.android.vending.INSTALL_REFERRER -n com.myname.myapp/com.myname.myapp.InstallReceiver --es "referrer" "utm_source=test_source&utm_medium=test_medium&utm_term=test_term&utm_content=test_content&utm_campaign=test_name"
有人能看出我做错了什么吗?接收器被触发,因为我在LogCat中获得以下输出:

Received install event
Referer is null

谢谢您的帮助。

尝试使用
-e
而不是
-es
,尽管两者都可以。另外,注意你的
r
计数,因为在你的
Log.d()
调用中,你有
Referer
,它缺少一个
r
。虽然这没关系(这只是一条日志消息),但如果您正在运行的代码与问题中的代码不完全相同,那么您可能在其他地方缺少了一个
r
。它正在工作!你是对的,我一定是打错了,而且一定是在“am broadcast”命令中(我在这里粘贴的版本来自我使用的引用,而不是从我的终端复制的,因为复制起来非常痛苦)。我遇到了相同的问题,我得到了广播,但得到了“intent.getData()”作为“null”尝试类似的方法:
Bundle extras=intent.getExtras();for(String key:extras.keySet()){Object value=extras.get(key);Log.d(TAG,String.format(“%s%s(%s)”),key,value.toString(),value.getClass().getName());}
查看有什么内容。
Received install event
Referer is null