Я пытался вызвать метод в MainActivity из службы сообщений.Я пробовал несколько способов, все из StackOverflow, но ни один, кажется, не работает.Вот что я сделал до сих пор.
Я просто хочу показать диалоговое окно после получения уведомления.
Это метод в MessagingServiceclass.
sendNotification(title, message);
Intent pushNotification = new Intent("PushNotification");
pushNotification.putExtra("message", message);
pushNotification.putExtra("title", title);
pushNotification.putExtra("code", code);
LocalBroadcastManager.getInstance(this).sendBroadcast(pushNotification);
savetodatabase(title,message);
Последняя строка сохраняет уведомление в базе данных SQL и работает нормально, что означает, что код над ним выполняется.
В моем классе MainActivity я вызываю BroadcastReceiver с использованием кода ниже
BroadcastReceiver mRegistrationBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Called", Toast.LENGTH_SHORT).show();
if (intent.getAction().equals(NOTIFICATION)) {
String title = intent.getStringExtra("title");
String message = intent.getStringExtra("message");
String code = intent.getStringExtra("code");
showDialog(title, message, code);
}
}
};
Однако метод внутри OnReceive не вызывается.
Я также попытался скопировать метод, который я хочу выполнить после получения уведомления в классе сообщений, но все ещеэто не называется.
Где я иду не так?