问题是,我无法在我的接受者中得到更多的信息。在清单文件中,我有如下内容:
<receiver
android:name="app.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 app/app.InstallReceiver --es "referrer" "utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign"在InstallReceiver类中:
@Override
public void onReceive(Context context, Intent intent) {
Uri uri = intent.getData(); // getting uri is null
String referrer = intent.getStringExtra("referrer");
// referrer is only contains "utm_source=testSource" and no more所以现在的问题是,我的意图到底在哪里?
发布于 2015-03-25 23:18:52
您的intent广播引用程序值没有正确设置。该值将由调用adb的shell转义一次,并由执行广播命令的Android再转义一次。尝试像这样发送请求:
adb shell am broadcast -a com.android.vending.INSTALL_REFERRER -n app/app.InstallReceiver --es referrer "'utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign'"注意双转义--一次带有单引号‘,一次带有双引号“
https://stackoverflow.com/questions/29239968
复制相似问题