我一直试图从Messaging Service调用MainActivity中的方法。我尝试了几种方法,所有方法都来自StackOverflow,但似乎都没有用。这是我到目前为止所做的。
我只是想在收到通知后显示一个对话框。
这是MessagingService类中的方法。
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内部的方法。
在消息类中收到通知后,我也尝试复制要执行的方法,但仍然没有被调用。
我要去哪里错了?