使用fcm通知时出错

时间:2018-03-16 14:04:39

标签: java android firebase push-notification

我想从服务器和面板firebase发送通知,我想从面板firebase发送推送通知并点击通知打开url并从服务器打开app发送推送但是当从面板firebase app发送推送强制关闭时,如何解决这个问题?这是我的代码

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    super.onMessageReceived(remoteMessage);


    String title = remoteMessage.getNotification().getTitle();
    String message = remoteMessage.getNotification().getBody();


    String url = remoteMessage.getData().get("url");
    String message1 = remoteMessage.getData().get("message");
    String title1 = remoteMessage.getData().get("title");
    if (!title.equals("null") && !title.isEmpty()) {

        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.setSmallIcon(R.drawable.khatemsalavet);
        notificationBuilder.setAutoCancel(true);
        notificationBuilder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
        notificationBuilder.setContentIntent(pendingIntent);
        NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.notify(0, notificationBuilder.build());

    } else {
        Intent intent1 = new Intent(Intent.ACTION_VIEW);
        Uri uri = Uri.parse(url);
        intent1.setData(uri);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent1, PendingIntent.FLAG_ONE_SHOT);
        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this);
        notificationBuilder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
        notificationBuilder.setContentTitle(title1);
        notificationBuilder.setContentText(message1);
        notificationBuilder.setAutoCancel(true);
        notificationBuilder.setSmallIcon(R.drawable.khatemsalavet);
        notificationBuilder.setContentIntent(pendingIntent);
        NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.notify(0, notificationBuilder.build());


    }

}

错误

  

E / AndroidRuntime:FATAL EXCEPTION:pool-3-thread-1                 显示java.lang.NullPointerException                     at com.example.kaveh.khasalavatonline.FcmMessagingService.onMessageReceived(FcmMessagingService.java:32)                     在com.google.firebase.messaging.FirebaseMessagingService.handleIntent(未知   资源)                     在com.google.firebase.iid.zzc.run(未知来源)                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)                     at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:573)                     在java.lang.Thread.run(Thread.java:841)

0 个答案:

没有答案