Метод onReceive() приемника широковещательной передачи не вызывается с помощью Install Referrer
Мое приложение должно получить Install Referrer после установки. Я создал собственный приемник, который расширяет BroadcastReceiver. Пожалуйста, смотрите код ниже:
CustomReferrerReceiver
public class CustomReferrerReceiver extends BroadcastReceiver {
private String referrer = "";
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("com.android.vending.INSTALL_REFERRER")) {
Bundle extras = intent.getExtras();
if (extras != null) {
referrer = extras.getString("referrer");
}
Log.i("REFERRER", "Referrer is: " + referrer);
}
Toast.makeText(context, "TEST MESSAGE!!! My referrer is here",
Toast.LENGTH_LONG).show();
}
}
Android манифест
android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<receiver
android:name="com.example.boris.myapplication.CustomReferrerReceiver"
android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
Как мое приложение не установлено из Google Play, так как я понимаю, я не получу Install Referrer. Итак, я решил использовать Toast, чтобы увидеть, вызывается ли хотя бы метод onReceive. И я вижу, что это не называется.
Итак, вопрос: нормально ли, что метод onReceive() вообще не вызывается? Или это что-то не так с моим кодом? Если он вообще не должен вызываться, как я могу проверить, работает ли он (кроме запуска adb в командной строке)?