如何在应用关闭时使用firebase云消息传递通知

时间:2017-07-22 09:31:57

标签: android service firebase-cloud-messaging

我想在我的应用中使用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());
    }
} 

1 个答案:

答案 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");
        }
    }
}