Files
rider-pro-android-app/app/src/main/java/com/aiosman/riderpro/JpushReciver.kt

41 lines
1.4 KiB
Kotlin
Raw Normal View History

2024-09-18 17:03:26 +08:00
package com.aiosman.riderpro
import android.content.Context
import android.content.Intent
import android.util.Log
import cn.jpush.android.api.NotificationMessage
import cn.jpush.android.service.JPushMessageReceiver
import com.google.gson.Gson
import com.google.gson.annotations.SerializedName
data class ActionExtra(
@SerializedName("action")
val action: String,
@SerializedName("postId")
val postId: String?,
)
class JpushReciver : JPushMessageReceiver() {
val gson = Gson()
override fun onInAppMessageClick(p0: Context?, p1: NotificationMessage?) {
super.onInAppMessageClick(p0, p1)
// 打开自定义的页面
Log.d("JpushReciver", "onInAppMessageClick")
}
override fun onNotifyMessageOpened(context: Context?, message: NotificationMessage) {
super.onNotifyMessageOpened(context, message)
// 打开自定义的页面
Log.d("JpushReciver", "onNotifyMessageOpened")
val actionExtra = message.notificationExtras?.let {
gson.fromJson(it, ActionExtra::class.java)
}
actionExtra?.postId?.let {
val intent = Intent(context, MainActivity::class.java).apply {
putExtra("POST_ID", it)
flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
}
context?.startActivity(intent)
}
}
}