优化:准确获取短信广播的卡槽信息

This commit is contained in:
pppscn 2022-06-08 10:29:13 +08:00
parent 489d7b4336
commit b210243a46
1 changed files with 15 additions and 4 deletions

View File

@ -14,6 +14,7 @@ import androidx.work.workDataOf
import com.google.gson.Gson import com.google.gson.Gson
import com.idormy.sms.forwarder.App import com.idormy.sms.forwarder.App
import com.idormy.sms.forwarder.entity.MsgInfo import com.idormy.sms.forwarder.entity.MsgInfo
import com.idormy.sms.forwarder.utils.PhoneUtils
import com.idormy.sms.forwarder.utils.SettingUtils import com.idormy.sms.forwarder.utils.SettingUtils
import com.idormy.sms.forwarder.utils.Worker import com.idormy.sms.forwarder.utils.Worker
import com.idormy.sms.forwarder.workers.SendWorker import com.idormy.sms.forwarder.workers.SendWorker
@ -45,17 +46,25 @@ class SmsReceiver : BroadcastReceiver() {
Log.d(TAG, "from = $from") Log.d(TAG, "from = $from")
Log.d(TAG, "content = $content") Log.d(TAG, "content = $content")
//获取卡槽信息
if (App.SimInfoList.isEmpty()) {
App.SimInfoList = PhoneUtils.getSimMultiInfo()
}
Log.e(TAG, "SimInfoList = " + App.SimInfoList.toString())
//TODO准确获取卡槽信息目前测试结果只有 subscription 相对靠谱 //TODO准确获取卡槽信息目前测试结果只有 subscription 相对靠谱
//val slot = intent.extras?.getInt("slot") ?: -1 val slot = intent.extras?.getInt("slot") ?: -1
//val simId = intent.extras?.getInt("simId") ?: -1 val simId = intent.extras?.getInt("simId") ?: slot
val subscription = intent.extras?.getInt("subscription") ?: -1 val subscription = intent.extras?.getInt("subscription") ?: simId
//Logs.d(TAG, "slot = $slot, simId = $simId, subscription = $subscription") Log.d(TAG, "slot = $slot, simId = $simId, subscription = $subscription")
//卡槽id-1=获取失败、0=卡槽1、1=卡槽2 //卡槽id-1=获取失败、0=卡槽1、1=卡槽2
var simSlot = -1 var simSlot = -1
if (App.SimInfoList.isNotEmpty()) { if (App.SimInfoList.isNotEmpty()) {
for (simInfo in App.SimInfoList.values) { for (simInfo in App.SimInfoList.values) {
if (simInfo.mSubscriptionId == subscription) { if (simInfo.mSubscriptionId == subscription) {
simSlot = simInfo.mSimSlotIndex simSlot = simInfo.mSimSlotIndex
break
} }
} }
} }
@ -67,6 +76,8 @@ class SmsReceiver : BroadcastReceiver() {
} }
val msgInfo = MsgInfo("sms", from, content, Date(), simInfo, simSlot) val msgInfo = MsgInfo("sms", from, content, Date(), simInfo, simSlot)
Log.d(TAG, "msgInfo = $msgInfo")
val request = OneTimeWorkRequestBuilder<SendWorker>() val request = OneTimeWorkRequestBuilder<SendWorker>()
.setInputData( .setInputData(
workDataOf( workDataOf(