我想从服务器和面板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)