У меня есть BroadcastReceiver, и я пытаюсь обновить цвет чего-либо в MainActivity каждый раз, когда они получают уведомление Firebase. Однако метод onReceive никогда не вызывается. Я не знаю, что может быть не так.
Методы в моей основной деятельности:
@Override
public void onStart() {
super.onStart();
LocalBroadcastManager.getInstance(this).registerReceiver((receiver),
new IntentFilter("MyFilter"));
}
@Override
public void onStop() {
super.onStop();
LocalBroadcastManager.getInstance(this).unregisterReceiver(receiver);
}
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("entereeeeed", "emntereedd");
bv.setBadge(true);
String Action = intent.getStringExtra("Action");
switch (Action) {
case "updatedata":
try {
boolean value = intent.getBooleanExtra("bv", false);
//bv.setBadge(value);
} catch (Exception e) {
e.printStackTrace();
}
break;
default:
break;
}
}
};
NotificationService:
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
LocalBroadcastManager broadcaster = LocalBroadcastManager.getInstance(getBaseContext());
Intent intent = new Intent("MyFilter");
intent.putExtra("bv", true);
intent.putExtra("Action", "updatedata");
broadcaster.sendBroadcast(intent);
Спасибо!