refactor(servicing): 更新ServicingModule

This commit is contained in:
songzhiling
2025-06-17 11:49:32 +08:00
parent 405f732502
commit ea83fc62a9
75 changed files with 3696 additions and 2558 deletions

View File

@ -1,59 +1,64 @@
package com.za.base
import android.content.Context
import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import com.google.gson.Gson
import com.za.bean.JpushBean
import com.za.common.GlobalData
import com.za.common.log.LogUtil
import com.za.service.PushListener
import com.za.service.ServiceManager
import com.za.service.ZdPushServiceReceive
open class PushMessageActivity : AppCompatActivity() {
private var currentDialog : AlertDialog? = null
override fun onCreate(savedInstanceState : Bundle?) {
super.onCreate(savedInstanceState)
// setupPushMessageReceiver()
super.onCreate(savedInstanceState) // setupPushMessageReceiver()
}
private fun setupPushMessageReceiver() { // 注册推送消息接收器
ServiceManager.registerPushListener(object : PushListener {
override fun broadcast(msg : String) {
sendMessageToMainProcess("broadcast", msg)
sendMessageToMainProcess(type = Const.PushMessageType.BROADCAST,
message = msg,
context = this@PushMessageActivity)
}
override fun giveUpOrder(jpushBean : JpushBean) {
sendMessageToMainProcess("giveUp", Gson().toJson(jpushBean))
sendMessageToMainProcess(type = Const.PushMessageType.GIVE_UP,
message = Gson().toJson(jpushBean),
context = this@PushMessageActivity)
}
override fun importantTip(jpushBean : JpushBean) {
sendMessageToMainProcess("importantTip", Gson().toJson(jpushBean))
sendMessageToMainProcess(type = Const.PushMessageType.IMPORTANT_TIP,
message = Gson().toJson(jpushBean),
context = this@PushMessageActivity)
}
override fun newOrderMsg(jpushBean : JpushBean) {
sendMessageToMainProcess("newOrder", Gson().toJson(jpushBean))
sendMessageToMainProcess(type = Const.PushMessageType.NEW_ORDER,
message = Gson().toJson(jpushBean),
context = this@PushMessageActivity)
}
override fun reDispatchOrder(jpushBean : JpushBean) {
sendMessageToMainProcess("reDispatch", Gson().toJson(jpushBean))
sendMessageToMainProcess(type = Const.PushMessageType.RE_DISPATCH,
message = Gson().toJson(jpushBean),
context = this@PushMessageActivity)
}
override fun revokeOrder(jpushBean : JpushBean) {
sendMessageToMainProcess("revoke", Gson().toJson(jpushBean))
sendMessageToMainProcess(type = Const.PushMessageType.REVOKE,
message = Gson().toJson(jpushBean),
context = this@PushMessageActivity)
}
})
}
private fun sendMessageToMainProcess(type : String, message : String) { // 使用广播将消息发送到主进程
val intent = Intent(ZdPushServiceReceive.RECEIVE_ACTION).setPackage(packageName)
intent.putExtra("type", type)
intent.putExtra("message", message)
sendBroadcast(intent)
LogUtil.print("KeepAliveService", "发送消息到主进程: $type")
}
override fun onPause() {
super.onPause()
@ -72,5 +77,17 @@ open class PushMessageActivity : AppCompatActivity() {
companion object {
internal const val GIVE_UP_TYPE_NORMAL = 1
internal const val DIALOG_TAG_GIVE_UP = "giveUp"
private fun sendMessageToMainProcess(context : Context, type : String, message : String) {
// 使用广播将消息发送到主进程
val intent = Intent(Const.PushMessageType.ACTION_MAIN.takeIf { GlobalData.isMaster }
?: Const.PushMessageType.ACTION_SDK)
intent.setPackage(context.packageName)
intent.putExtra("type", type)
intent.putExtra("message", message)
context.sendBroadcast(intent)
LogUtil.print("KeepAliveService", "发送消息到主进程: $type")
}
}
}