Android Manifest中不能有多个INSTALL_REFFERER接收器

时间:2011-02-27 18:42:54

标签: android install receiver

我在Android Manifest文件中使用AdMob安装接收器,例如

<!-- AdMob Install Receiver -->     
    <receiver android:name="com.admob.android.ads.analytics.InstallReceiver" android:exported="true">
        <intent-filter>
            <action android:name="com.android.vending.INSTALL_REFERRER" />
        </intent-filter>
    </receiver>

但是,我也想使用自己的INSTALL_REFFERER接收器。问题是,当我在AdMob之后包含我自己的接收器时,它永远不会被调用。如果我在清单文件中的AdMob接收器之前包含我的,我会被调用但是AdMob没有。

无论如何,我可以同时召唤两个人吗?

由于

1 个答案:

答案 0 :(得分:1)

Android应用不能拥有多个具有相同意图过滤操作的接收器。

像这样制作代理接收器:

AndroidManifest.xml中的

<receiver android:name="com.example.app.TrackingReceiver" android:    exported="true">
    <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER"     />
    </intent-filter>
</receiver>
TrackingReceiver.java中的

public class TrackingReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        // call AdMob tracker
        com.google.ads.InstallReceiver ir = new com.google.ads.InstallReceiver();
        ir.onReceive(context, intent);

        // call Analytics tracker
        com.google.android.apps.analytics.AnalyticsReceiver ar = new com.google.android.apps.analytics.AnalyticsReceiver();
        ar.onReceive(context, intent);
    }
}