Newer
Older
SmartKitchen / app / src / main / java / com / casic / br / service / PushIntentService.kt
package com.casic.br.service

import android.content.Context
import android.util.Log
import com.casic.br.utils.LocaleConstant
import com.igexin.sdk.GTIntentService
import com.igexin.sdk.message.GTCmdMessage
import com.igexin.sdk.message.GTNotificationMessage
import com.igexin.sdk.message.GTTransmitMessage
import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.SaveKeyValues

class PushIntentService : GTIntentService() {

    private val kTag = "PushIntentService"

    override fun onReceiveServicePid(context: Context?, pid: Int) {

    }

    // 透传消息
    override fun onReceiveMessageData(context: Context?, msg: GTTransmitMessage?) {
        Log.d(kTag, "透传消息 -> msg = $msg")
    }

    // 接收 cid
    override fun onReceiveClientId(context: Context?, clientid: String?) {
        Log.d(kTag, "onReceiveClientId -> $clientid")
        SaveKeyValues.putValue(LocaleConstant.PUSH_CLIENT_ID, clientid.toString())
    }

    // cid 离线上线通知
    override fun onReceiveOnlineState(context: Context?, online: Boolean) {

    }

    // 各种事件处理回执
    override fun onReceiveCommandResult(context: Context?, msg: GTCmdMessage?) {

    }

    // 通知到达
    override fun onNotificationMessageArrived(context: Context?, msg: GTNotificationMessage?) {
        //报警
//        {
//            "content": "设备编号[412022030361]发生井盖开盖报警",
//            "messageId": "380abf9a79d34306a2683dc9bf96ee78",
//            "taskId": "OSL-0830_4hmfimp3Vu684wo3SjXso9",
//            "title": "告警提醒",
//            "appid": "HKv8K9qARd6WckZ1o2Vbu4",
//            "clientId": "e78beacc42e9a02ae6fb9087eb2b1171",
//            "pkgName": "com.casic.app.smartwell"
//        }
        if (msg == null) {
            return
        }
        Log.d(kTag, "通知到达 -> msg = ${msg.toJson()}")
//        val userDetailJson = SaveKeyValues.getValue(LocaleConstant.USER_DETAIL_MODEL, "") as String
//        var userId = ""
//        if (userDetailJson.isNotBlank()) {
//            val userDataModel = Gson().fromJson<UserDetailModel.DataBean>(
//                userDetailJson, object : TypeToken<UserDetailModel.DataBean>() {}.type
//            )
//            userId = userDataModel.id.toString()
//        }
//        //解析编号
//        val splitArray = msg.content.split("\\[|\\]".toRegex())
//        DataBaseManager.instance.insertNotice(
//            msg.messageId, msg.appid, msg.clientId, msg.taskId,
//            userId, msg.title, msg.content, splitArray[1], "0",
//            System.currentTimeMillis().timestampToCompleteDate()
//        )
    }

    // 通知点击
    override fun onNotificationMessageClicked(context: Context?, msg: GTNotificationMessage?) {
        Log.d(kTag, "通知点击 -> msg = $msg")
    }
}