问题
当SIM卡插入手机时,开发的Android应用能判断出sim卡插入的是哪一个手机卡槽,然后弹出通知或提示。
我的解答思路和尝试过的方法
我找到TelephonyManager类有提供了一系列用于访问与手机通讯相关的状态和信息的get方法,但没找到需要的方法。
我想要达到的结果
判断SIM卡是插入的SIM卡槽1,还是SIM卡槽2
当SIM卡插入手机时,开发的Android应用能判断出sim卡插入的是哪一个手机卡槽,然后弹出通知或提示。
我找到TelephonyManager类有提供了一系列用于访问与手机通讯相关的状态和信息的get方法,但没找到需要的方法。
判断SIM卡是插入的SIM卡槽1,还是SIM卡槽2
D simCount:2
D iccId : , name : 中国联通
D iccId : , name : 中国移动
清单文件声明权限,并授权之后就可以拿到sim卡信息了
fun getSimCardInfo() {
val subscriptionManager = SubscriptionManager.from(applicationContext)
if (ActivityCompat.checkSelfPermission(
this,
Manifest.permission.READ_PHONE_STATE
) == PackageManager.PERMISSION_GRANTED
) {
val activeSubscriptionInfoList = subscriptionManager.activeSubscriptionInfoList
val simCount = activeSubscriptionInfoList.size
Log.d("MainActivity: ", "simCount:$simCount")
activeSubscriptionInfoList.forEach { action ->
Log.d(
"MainActivity: ",
"iccId :" + action.iccId + " , name : " + action.displayName
)
}
}
}