mac
2024-01-05 51d7007fd4bcaaa771d43a745cb6728d4e6d29ae
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
package com.hdl.photovoltaic.jpush;
 
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;
import com.hdl.photovoltaic.ui.bean.BUserInfo;
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;
import cn.jpush.android.api.NotificationMessage;
import cn.jpush.android.service.JPushMessageService;
 
/**
 * 接收极光推送消息
 */
public class JPushReceiverService extends JPushMessageService {
 
    /**
     * 自定义消息回调
     *
     * @param context       Context
     * @param customMessage 接收自定义消息内容
     */
    public void onMessage(Context context, CustomMessage customMessage) {
 
        HdlLogLogic.print("极光--->自定义消息回调--->" + new Gson().toJson(customMessage), false);
    }
 
    /**
     * 点击通知栏回调
     *
     * @param context Context
     * @param message 接收到的通知内容
     */
    public void onNotifyMessageOpened(Context context, NotificationMessage message) {
        JPushMessageInfoBean jPushMessageInfoBean = pushDataProcessing(message);
        HdlJpushLogic.getInstance().JpushPushCommonData(context, jPushMessageInfoBean, true);
//        //点击后删除本地通知
//        JPushInterface.clearAllNotifications(context);
    }
 
    /**
     * 收到推送通知回调
     *
     * @param context Context
     * @param message 接收到的通知内容
     */
    public void onNotifyMessageArrived(Context context, NotificationMessage message) {
        JPushMessageInfoBean jPushMessageInfoBean = pushDataProcessing(message);
        HdlJpushLogic.getInstance().JpushPushCommonData(context, jPushMessageInfoBean, false);
    }
 
    /**
     * 注册成功回调
     *
     * @param context        Context
     * @param registrationId 注册 id
     */
    public void onRegister(Context context, String registrationId) {
        HdlLogLogic.print("极光--->注册成功回调Id:" + registrationId, false);
    }
 
    /**
     * 长连接状态回调
     *
     * @param context     Context。
     * @param isConnected 长连接状态
     */
    public void onConnected(Context context, boolean isConnected) {
        HdlLogLogic.print("极光--->长连接状态回调:" + isConnected, false);
    }
 
    /**
     * 推送数据作处理
     */
    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();
        }
    }
 
}