早安,
我的问题是,如果我在关闭应用程序时收到通知,则我从FCM获取的数据不会保存在SharedPreferences
中。
代码:
public class SomeService extends FirebaseMessagingService
{
SharedPreferences prefs;
SharedPreferences.Editor prefsEditor;
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
prefs = this.getSharedPreferences("prefs", MODE_PRIVATE);
prefsEditor = prefs.edit();
Map<String,String> data = remoteMessage.getData();
prefsEditor.putBoolean(Keys.text, Boolean.parseBoolean(data.get("text")));
prefsEditor.apply();
}
}
答案 0 :(得分:1)
如果您不使用FirebaseMessaging Data Message,则Firebase在后台时不会调用onMessageReceived。 onMessageReceived仅在前台调用。
您应该使用数据消息使onMessageReceived在后台工作
这是基于firebase docs的参考 关于firebase here
中的消息类型