Android studio通知消息功能

问题描述 投票:1回答:1

如果该编码停止运行,应用程序会停止运行并向我显示此部分有问题,我可以知道是什么问题。请帮助谢谢

错误

E/AndroidRuntime: FATAL EXCEPTION: Firebase-MyFirebaseMessaging
    Process: com.example.mychat, PID: 6510
    java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
        at com.example.mychat.Notifications.MyFirebaseMessaging.onMessageReceived(MyFirebaseMessaging.java:32)
        at com.google.firebase.messaging.FirebaseMessagingService.zzd(Unknown Source:60)
        at com.google.firebase.iid.zzg.run(Unknown Source:4)
        at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at com.google.android.gms.common.util.concurrent.zza.run(Unknown Source:7)
        at java.lang.Thread.run(Thread.java:784)

代码

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

            String sented = remoteMessage.getData().get("sented");

            FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();

            if (firebaseUser != null && sented.equals(firebaseUser.getUid())){
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
                    sendOreoNotification(remoteMessage);
                }else {
                    sendNotification(remoteMessage);
                }
            }
        } 
java android android-studio
1个回答
0
投票
override fun onMessageReceived(remoteMessage: RemoteMessage) {
Log.d(TAG, "From: " + remoteMessage!!.from!!)
      if (remoteMessage.data.isNotEmpty()) {
                Log.d(TAG, "Message data payload: " + remoteMessage.data)
                val jObj = JSONObject(remoteMessage.data)
                try {
                    msg = jObj.optString("msg")
                    type = jObj.optString("type")
                    title = jObj.optString("title")
                    createNotificationData()
                } catch (e: JSONException) {
                    e.printStackTrace()
                }
© www.soinside.com 2019 - 2024. All rights reserved.