如何在测试Android广播时包含额外的捆绑包?

时间:2015-06-04 22:22:35

标签: android android-intent broadcastreceiver google-play-services

我目前正在尝试测试Google的应用邀请,但我很难测试def to_internal_value(self, data): if data and data.get('username'): return self.Meta.model.objects.get(username=data['username']) return super().to_internal_value(data) 广播功能,而无需在Play商店中添加应用

App邀请广播意图需要一个名为INSTALL_REFERRER的附加内容,并在"com.google.android.gms.appinvite.REFERRAL_BUNDLE"中进行检查,如下所示:

AppInviteReferral

使用public static boolean hasReferral(Intent referralIntent) { return referralIntent != null && referralIntent.getBundleExtra("com.google.android.gms.appinvite.REFERRAL_BUNDLE") != null; } 测试广播时,我们可以做的最好的事情是添加附加功能,但是没有额外添加附加功能的选项。 (documentation here

任何人都知道如何将捆绑包作为广播的一部分?

1 个答案:

答案 0 :(得分:1)

在这个post中说不可能通过adb添加bundle。您可以编写简单的测试应用程序并发送您想要的app邀请意图:

Intent intent = new Intent("com.android.vending.INSTALL_REFERRER");
intent.setPackage("your_package");
Bundle bundle = new Bundle();
bundle.putString("com.android.vending.INSTALL_REFERRER", "your_invite_id");
bundle.putString("com.google.android.gms.appinvite.DEEP_LINK", "your_deep_link");
intent.putExtra("com.google.android.gms.appinvite.REFERRAL_BUNDLE", bundle);
sendBroadcast(intent);

我已经通过这种方式测试了谷歌应用邀请,但在尝试通过adb发送意图之前。