admin
2021-07-28 c0269fcfa876b9c5cf309b2006462b4d09c5ef95
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
140
package com.hanju.video.app;
 
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
 
//import com.umeng.message.UmengMessageHandler;
//import com.umeng.message.entity.UMessage;
import com.tencent.android.tpush.XGPushBaseReceiver;
import com.tencent.android.tpush.XGPushClickedResult;
import com.tencent.android.tpush.XGPushRegisterResult;
import com.tencent.android.tpush.XGPushShowedResult;
import com.tencent.android.tpush.XGPushTextMessage;
import com.hanju.video.app.db.MessageTable;
import com.hanju.video.app.ui.media.VideoDetailActivity;
import com.hanju.video.app.ui.mine.SystemMessageActivity;
 
import org.json.JSONObject;
 
import java.util.Iterator;
 
import de.greenrobot.event.EventBus;
 
public class HanJuMessageHandler extends XGPushBaseReceiver {
    @Override
    public void onNotifactionShowedResult(Context context, XGPushShowedResult msg) {
        try {
            JSONObject object = new JSONObject(msg.getCustomContent());
            if ("VideoUpdate".equalsIgnoreCase(object.optString("PushType"))) {
                SharedPreferences sharedPreferences = context.getSharedPreferences("user", Context.MODE_PRIVATE);
                sharedPreferences.edit().putBoolean("PushType", true).commit();
                EventBus.getDefault().post(msg);
            }
 
        } catch (Exception e) {
            e.printStackTrace();
        }
 
    }
 
    //    @Override
//    public void dealWithNotificationMessage(Context context, UMessage msg) {
//        if (Integer.parseInt(msg.custom) == 1) {
//            ContentValues values = new ContentValues();
//            values.put(MessageTable.MESSAGE_ID, msg.msg_id);
//            values.put(MessageTable.MESSAGE_TITLE, msg.title);
//            values.put(MessageTable.MESSAGE_CONTENT, msg.text);
//            values.put(MessageTable.MESSAGE_STATUS, 0);
//            values.put(MessageTable.UPDATE_TIME, System.currentTimeMillis());
//            values.put(MessageTable.CREATE_TIME, System.currentTimeMillis());
//            context.getContentResolver().insert(MessageTable.CONTENT_URI,
//                    values);
//        }
//        super.dealWithNotificationMessage(context, msg);
//    }
    @Override
    public void onDeleteTagResult(Context context, int i, String s) {
 
    }
 
    @Override
    public void onRegisterResult(Context context, int i, XGPushRegisterResult xgPushRegisterResult) {
 
    }
 
    @Override
    public void onSetTagResult(Context context, int i, String s) {
 
    }
 
    @Override
    public void onNotifactionClickedResult(Context context, XGPushClickedResult msg) {
        Bundle bundle = new Bundle();
        try {
            JSONObject object = new JSONObject(msg.getCustomContent());
            Iterator<String> str = object.keys();
            while (str.hasNext()) {
                String key = str.next();
                bundle.putString(key, object.optString(key));
            }
            Intent intent = new Intent(context, Class.forName(object.optString("Activity")));
            intent.putExtras(bundle);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    @Override
    public void onUnregisterResult(Context context, int i) {
 
    }
 
    private NotificationManager nm;
    private Notification n;
 
    @Override
    public void onTextMessage(Context context, XGPushTextMessage msg) {
        ContentValues values = new ContentValues();
        values.put(MessageTable.MESSAGE_ID, System.currentTimeMillis());
        values.put(MessageTable.MESSAGE_TITLE, msg.getTitle());
        values.put(MessageTable.MESSAGE_CONTENT, msg.getContent());
        values.put(MessageTable.MESSAGE_STATUS, 0);
        values.put(MessageTable.UPDATE_TIME, System.currentTimeMillis());
        values.put(MessageTable.CREATE_TIME, System.currentTimeMillis());
        context.getContentResolver().insert(MessageTable.CONTENT_URI,
                values);
        // 第一步:获取NotificationManager
        NotificationManager nm = (NotificationManager)
                context.getSystemService(Context.NOTIFICATION_SERVICE);
 
        ///// 第二步:定义Notification
        Intent intent = new Intent(context, SystemMessageActivity.class);
        //PendingIntent是待执行的Intent
        PendingIntent pi = PendingIntent.getActivity(context, 0, intent,
                PendingIntent.FLAG_CANCEL_CURRENT);
        Notification notification = new Notification.Builder(context)
                .setContentTitle(msg.getTitle())
                .setContentText(msg.getContent())
                .setAutoCancel(true)
                .setSmallIcon(R.drawable.ic_launcher).setContentIntent(pi)
                .build();
//        notification.flags = Notification.FLAG_NO_CLEAR;
 
        /////第三步:启动通知栏,第一个参数是一个通知的唯一标识
        nm.notify(0, notification);
        //关闭通知
        //nm.cancel(0);
 
 
    }
}