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