From e01efd770fcf79505e854965b16352bff0992910 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 04 一月 2024 14:35:28 +0800
Subject: [PATCH] 2024年01月04日14:35:21

---
 app/src/main/java/com/hdl/photovoltaic/jpush/JPushReceiverService.java |   78 ++++++++++++++++++++++++++++++--------
 1 files changed, 61 insertions(+), 17 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/jpush/JPushReceiverService.java b/app/src/main/java/com/hdl/photovoltaic/jpush/JPushReceiverService.java
index 51b23ab..864299c 100644
--- a/app/src/main/java/com/hdl/photovoltaic/jpush/JPushReceiverService.java
+++ b/app/src/main/java/com/hdl/photovoltaic/jpush/JPushReceiverService.java
@@ -3,9 +3,15 @@
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
+import android.text.TextUtils;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+import com.google.gson.reflect.TypeToken;
 import com.hdl.photovoltaic.config.ConstantManage;
+import com.hdl.photovoltaic.other.HdlJpushLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.ui.MyPowerStationActivity;
 import com.hdl.photovoltaic.ui.StartActivity;
@@ -13,6 +19,10 @@
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
 
 import org.greenrobot.eventbus.EventBus;
+
+import java.lang.reflect.Type;
+import java.util.HashMap;
+import java.util.Objects;
 
 import cn.jpush.android.api.CustomMessage;
 import cn.jpush.android.api.JPushInterface;
@@ -42,23 +52,10 @@
      * @param message 鎺ユ敹鍒扮殑閫氱煡鍐呭
      */
     public void onNotifyMessageOpened(Context context, NotificationMessage message) {
-
+        JPushMessageInfoBean jPushMessageInfoBean = pushDataProcessing(message);
+        HdlJpushLogic.getInstance().JpushPushCommonData(context, jPushMessageInfoBean, true);
 //        //鐐瑰嚮鍚庡垹闄ゆ湰鍦伴�氱煡
 //        JPushInterface.clearAllNotifications(context);
-        HdlLogLogic.print("鏋佸厜--->鐐瑰嚮閫氱煡鍥炶皟--->" + new Gson().toJson(message), true);
-        Intent intent = new Intent(context, MyPowerStationActivity.class);
-//        Bundle bundle = new Bundle();
-//        bundle.putString(JPushInterface.EXTRA_NOTIFICATION_TITLE, message.notificationTitle);
-//        bundle.putString(JPushInterface.EXTRA_ALERT, message.notificationContent);
-//        intent.putExtras(bundle);
-        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
-        intent.putExtra("skip", "skip");//鏍囪瘑璺宠浆
-        context.startActivity(intent);
-
-        BaseEventBus bus = new BaseEventBus();
-        bus.setTopic(ConstantManage.message_function_push_post);
-        EventBus.getDefault().postSticky(bus);
-
     }
 
     /**
@@ -68,8 +65,8 @@
      * @param message 鎺ユ敹鍒扮殑閫氱煡鍐呭
      */
     public void onNotifyMessageArrived(Context context, NotificationMessage message) {
-        HdlLogLogic.print("鏋佸厜--->鎺ユ敹鍒扮殑閫氱煡鍐呭--->" + new Gson().toJson(message), true);
-
+        JPushMessageInfoBean jPushMessageInfoBean = pushDataProcessing(message);
+        HdlJpushLogic.getInstance().JpushPushCommonData(context, jPushMessageInfoBean, false);
     }
 
     /**
@@ -92,4 +89,51 @@
         HdlLogLogic.print("鏋佸厜--->闀胯繛鎺ョ姸鎬佸洖璋�--->" + isConnected, true);
     }
 
+    /**
+     * 鎺ㄩ�佹暟鎹綔澶勭悊
+     */
+    private JPushMessageInfoBean pushDataProcessing(NotificationMessage message) {
+        try {
+            JPushMessageInfoBean jPushMessageInfoBean = new JPushMessageInfoBean();
+            String title = message.notificationTitle;
+            String content = message.notificationContent;
+            String pushData = message.notificationExtras;
+            jPushMessageInfoBean.setTitle(title);
+            jPushMessageInfoBean.setContent(content);
+            if (TextUtils.isEmpty(pushData)) {
+                return jPushMessageInfoBean;
+            }
+            JSONObject expandDataObject = JSON.parseObject(pushData);
+            if (expandDataObject.containsKey("expandData")) {
+                String expandDataJson = Objects.requireNonNull(expandDataObject.get("expandData")).toString();
+                if (TextUtils.isEmpty(expandDataJson)) {
+                    return jPushMessageInfoBean;
+                }
+                jPushMessageInfoBean.setExpandData(expandDataJson);
+                JSONObject expantContentObject = JSON.parseObject(expandDataJson);
+                if (expantContentObject.containsKey("messageType")) {
+                    String messageType = Objects.requireNonNull(expantContentObject.get("messageType")).toString();
+                    if (!TextUtils.isEmpty(messageType)) {
+                        jPushMessageInfoBean.setMessageType(messageType);
+                    }
+                }
+                if (expantContentObject.containsKey("homeId")) {
+                    String homeId = Objects.requireNonNull(expantContentObject.get("homeId")).toString();
+                    if (!TextUtils.isEmpty(homeId)) {
+                        jPushMessageInfoBean.setHomeId(homeId);
+                    }
+                }
+                if (expantContentObject.containsKey("expantContent")) {
+                    String expantContentJosn = Objects.requireNonNull(expantContentObject.get("expantContent")).toString();
+                    if (!TextUtils.isEmpty(expantContentJosn)) {
+                        jPushMessageInfoBean.setExpantContent(expantContentJosn);
+                    }
+                }
+            }
+            return jPushMessageInfoBean;
+        } catch (Exception e) {
+            return new JPushMessageInfoBean();
+        }
+    }
+
 }

--
Gitblit v1.8.0