我想在我的应用中使用firebase云消息来获取通知。
当应用程序位于前台或后台时,我收到通知,但如果应用程序被终止,则无效。我知道,即使在关闭应用程序之后,如果没有像服务那样运行也不可能,但我不知道如何实现它。
请指导我。提前谢谢。
我正在使用此课程来收到通知。
public class FcmMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
String title= remoteMessage.getNotification().getTitle();
String message= remoteMessage.getNotification().getBody();
Intent intent= new Intent(this,MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent= PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_ONE_SHOT);
NotificationCompat.Builder notificationBuilder= new NotificationCompat.Builder(this);
notificationBuilder.setContentTitle(title);
notificationBuilder.setContentText(message);
notificationBuilder.setAutoCancel(true);
notificationBuilder.setSmallIcon(R.mipmap.ic_launcher);
notificationBuilder.setContentIntent(pendingIntent);
NotificationManager notificationManager= (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0,notificationBuilder.build());
}
}
答案 0 :(得分:0)
如果您从firebase控制台发送消息中的某些数据有效负载,则当应用处于后台或被杀死状态时,您将无法获得自定义通知,如果您想在应用处于被杀或后台时收到通知,您将获得默认的firebase通知州发送邮件请求从您的服务器发送到https://fcm.googleapis.com/fcm/send此网址结帐完整指南https://firebase.google.com/docs/cloud-messaging/send-message和您的消息接收检查数据
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
// Check if message contains a data payload.
if (remoteMessage.getData().size() > 0) {
if (remoteMessage.getData() != null) {
Map<String, String> dataMap = remoteMessage.getData();
String title = dataMap.get("title");
String message = dataMap.get("description");
}
}
}