我在一台设备上有2个应用。服务器向两个应用程序发送推送。我希望收到推送的第一个应用程序显示通知,第二个应该什么都不做。如何查看第一个应用已经显示通知? 应用可以关闭。我使用FirebaseMessagingService进行唤醒。
我需要这个,因为用户只能安装一个应用程序或两者兼而有之。
答案 0 :(得分:1)
最好的方法就是您的服务器只向一个应用发送通知。但如果不可能,你可以使用广播接收器。 您可以使用Broadcast接收器在两个应用程序之间进行通信 在应用B中,例如声明广播接收器如下:
<receiver android:name=".MyBCReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="what.ever.you.want" />
</intent-filter>
</receiver>
来自app A.
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
intent.setAction("what.ever.you.want");
intent.putExtra("key","data");
intent.setComponent(new ComponentName("com.app.b","com.app.b.MainActivity"));
sendBroadcast(intent);
然后你的应用B,你可以使用sharedPreference做一个标记,不再发出通知。