我正在使用Firebas消息服务类。当应用程序在前台运行时,它正常工作,但是当我从最近清除此应用程序时,我无法访问推送通知数据以在textview上进行设置。 我想在app在后台运行时将数据存储在数据库中。 我曾使用数据库直接存储值但它不起作用。
public void onMessageReceived(RemoteMessage message) {
database=new SQLiteHelper(getApplicationContext());
database.open();
String image = message.getNotification().getIcon();
String title = message.getNotification().getTitle();
String text = message.getNotification().getBody();
String sound = message.getNotification().getSound();
int id = 0;
database.addQuotes(text,"Xyz");
}
在Oncreate方法的MainActivity.java中
Bundle extras = getIntent().getExtras();
if (extras != null) {
final String message = extras.getString("message");
quote_text.setText(message);
Toast.makeText(this, "A", Toast.LENGTH_SHORT).show();
}
但是消息显示空数据。
答案 0 :(得分:1)
基于此:
我想在应用程序在后台运行时将数据存储在数据库中
扩展FirebaseMessagingService
的服务调用有一个名为onMessageReceived
的方法,当在前端(app)收到推送通知时,会调用该方法将消息添加到DB!
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
.....
// parse and add your message to Db here!
答案 1 :(得分:1)