【发布时间】:2011-05-04 20:04:33
【问题描述】:
我正在尝试注册一个广播接收器,该接收器在从市场安装应用程序后捕获由 Android 启动的“com.android.vending.INSTALL_REFERRER”意图。
我在这里关注细节:http://code.google.com/mobile/analytics/docs/android/#referrals
但是,我无法使用 Google Analytics,因此我创建了自己的解决方案。我在清单文件中添加了以下内容:
<receiver android:name="com.test.Receiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
并创建了一个基本的 BroadcastReceiver 类:
public class Receiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
String referrerString = extras.getString("referrer");
Log.w("TEST", "Referrer is: " + referrerString);
}
}
但是,当安装应用程序时,接收器似乎没有捕捉到 Intent(如果 Intent 甚至被广播?)并且我没有得到任何日志输出。
我是不是在某个地方出错了,还是市场在安装应用时不再启动这些 Intent?
【问题讨论】:
-
我在这里回答了同样的问题stackoverflow.com/questions/3817030/…
-
值得注意的是,由于最新版本的 Android Market 应用程序中的错误,引荐来源字符串目前无法使用。您可以在此处为该错误加注星标以帮助引起 Google 的注意:code.google.com/p/android/issues/detail?id=19247
-
有谁知道在安装除我之外的其他应用程序时是否有办法接收此广播?
-
你如何做相反的事情?意思是,您如何在 APK 文件上使用意图,将其标记为您选择的引用者?
-
你能告诉我哪些参数吗?其实我和你有同样的问题。
标签: android google-play installation google-play-services referrer