From acccdeba7fe28f7f4b72ba464ad4789b0d9ddb2a Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 08 十二月 2025 11:06:21 +0800
Subject: [PATCH] 2025年12月08日11:06:18

---
 app/src/main/java/com/hdl/photovoltaic/push/fcm/MyFirebaseMessagingService.java |   51 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 32 insertions(+), 19 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/push/fcm/MyFirebaseMessagingService.java b/app/src/main/java/com/hdl/photovoltaic/push/fcm/MyFirebaseMessagingService.java
index f270fda..89ec8fa 100644
--- a/app/src/main/java/com/hdl/photovoltaic/push/fcm/MyFirebaseMessagingService.java
+++ b/app/src/main/java/com/hdl/photovoltaic/push/fcm/MyFirebaseMessagingService.java
@@ -23,9 +23,11 @@
 import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.enums.MessageStateType;
 import com.hdl.photovoltaic.other.HdlPushLogic;
+import com.hdl.photovoltaic.push.CustomNotification;
 import com.hdl.photovoltaic.push.PushMessageInfoBean;
 import com.hdl.photovoltaic.ui.BPowerStationActivity;
 import com.hdl.photovoltaic.ui.StartActivity;
+import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
 
 import org.greenrobot.eventbus.EventBus;
@@ -37,6 +39,9 @@
 
 import cn.jpush.android.api.NotificationMessage;
 
+/**
+ * 璋锋瓕鎺ㄩ�佹秷鎭帴鏀舵柟娉�
+ */
 public class MyFirebaseMessagingService extends FirebaseMessagingService {
     private static final String TAG = "FCMService";
 
@@ -55,7 +60,7 @@
      */
     @Override
     public void onMessageReceived(RemoteMessage remoteMessage) {
-        Log.d(TAG, "鍦ㄥ墠鍙拌繕鏄湪鍚�" + isAppInForeground(this));
+        Log.d(TAG, "鏄惁鍦ㄥ墠鍙帮細" + isAppInForeground(this));
         Log.d(TAG, "鏉ヨ嚜RemoteMessage: " + JSON.toJSONString(remoteMessage));
 //        // 鏁版嵁娑堟伅锛氫换浣曠姸鎬侀兘浼氭墽琛�
 //        if (!remoteMessage.getData().isEmpty()) {
@@ -66,26 +71,32 @@
 //        if (remoteMessage.getNotification() != null) {
 //            handleNotification(remoteMessage.getNotification()); // 鍙湁鍓嶅彴鎵ц
 //        }
+
+
         String title = "";//鎺ㄩ�佹爣棰�
         String content = "";//鎺ㄩ�佸唴瀹�
         if (remoteMessage.getNotification() != null) {
             title = remoteMessage.getNotification().getTitle();
             content = remoteMessage.getNotification().getBody();
         }
-        if (isAppInForeground(this)) {
-            // 妫�鏌ユ秷鎭槸鍚﹀寘鍚暟鎹礋杞�
-            if (!remoteMessage.getData().isEmpty()) {
-                PushMessageInfoBean pushMessageInfoBean = HdlPushLogic.getInstance().pushDataProcessing(title, content, JSON.toJSONString(remoteMessage.getData()));
-                HdlPushLogic.getInstance().PushPushCommonData(this, pushMessageInfoBean, false);
-//            handleDataMessage(remoteMessage.getData());
-            }
-        } else {
-            // 妫�鏌ユ秷鎭槸鍚﹀寘鍚�氱煡璐熻浇
-            if (!remoteMessage.getData().isEmpty()) {
-                PushMessageInfoBean pushMessageInfoBean = HdlPushLogic.getInstance().pushDataProcessing(title, content, JSON.toJSONString(remoteMessage.getData()));
-                this.showCustomNotification(pushMessageInfoBean);
-            }
+        if (!remoteMessage.getData().isEmpty()) {
+            CustomNotification.getInstance().messageDataProcessing(this, title, content, JSON.toJSONString(remoteMessage.getData()), CustomNotification.FromPush.FCM);
         }
+//        //鍘熺敓鍦ㄥ墠鍙版垨鑰卽ni鍦ㄥ墠鍙�
+//        if (isAppInForeground(this)) {
+//            // 妫�鏌ユ秷鎭槸鍚﹀寘鍚暟鎹礋杞�
+//            if (!remoteMessage.getData().isEmpty()) {
+//                PushMessageInfoBean pushMessageInfoBean = HdlPushLogic.getInstance().pushDataProcessing(title, content, JSON.toJSONString(remoteMessage.getData()));
+//                HdlPushLogic.getInstance().PushPushCommonData(this, pushMessageInfoBean, false);
+////            this.showCustomNotification(pushMessageInfoBean);
+//            }
+//        } else {
+//            // 妫�鏌ユ秷鎭槸鍚﹀寘鍚�氱煡璐熻浇
+//            if (!remoteMessage.getData().isEmpty()) {
+//                PushMessageInfoBean pushMessageInfoBean = HdlPushLogic.getInstance().pushDataProcessing(title, content, JSON.toJSONString(remoteMessage.getData()));
+//                this.showCustomNotification(pushMessageInfoBean);
+//            }
+//        }
     }
 
 
@@ -112,7 +123,7 @@
                 .setWhen(System.currentTimeMillis());
 
         // 璁剧疆鐐瑰嚮鎰忓浘,涓洪�氱煡娣诲姞鐐瑰嚮鍚庣殑璺宠浆鎰忓浘
-        Intent intent = createNotificationIntent(pushMessageInfoBean.getExpandData());
+        Intent intent = createNotificationIntent(pushMessageInfoBean);
         PendingIntent pendingIntent = PendingIntent.getActivity(
                 this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
         builder.setContentIntent(pendingIntent);
@@ -133,10 +144,10 @@
         notificationManager.createNotificationChannel(channel);
     }
 
-    private Intent createNotificationIntent(String data) {
+    private Intent createNotificationIntent(PushMessageInfoBean pushMessageInfoBean) {
         Intent intent = new Intent(this, StartActivity.class);
         intent.putExtra("from_fcm", true);
-        intent.putExtra("pushData", data);
+        intent.putExtra("pushData", JSONObject.toJSONString(pushMessageInfoBean));
         intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
         return intent;
     }
@@ -173,9 +184,11 @@
                 return false;
             }
             final String packageName = context.getPackageName();
+            final String uniPackageName = packageName + ":unimp0";
             for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {
-                if (appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND &&
-                        appProcess.processName.equals(packageName)) {
+                if ((appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND &&
+                        appProcess.processName.equals(packageName)) || (appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND &&
+                        appProcess.processName.equals(uniPackageName))) {
                     return true;
                 }
             }

--
Gitblit v1.8.0