Android:java.lang.SecurityException:包 com.android.phone (uid=1001) 与提供的 uid 10246 不匹配

Hir*_*tel 7 sms android android-securityexception

场景:如果用户授予短信权限,我们将向特定号码发送短信。

设备:仅限搭载 Android 11 的三星设备。

代码:

SmsManager.getSmsManagerForSubscriptionId(subscriptionId)
.sendTextMessage(destinationAddress, null, getString(R.string.xyz)
.format(token), sendSMSPendingIntent, null)
Run Code Online (Sandbox Code Playgroud)

例外:

java.lang.SecurityException: Package com.android.phone (uid=1001) does not match provided uid 10246

android.os.Parcel.createExceptionOrNull Parcel.java:2385
android.os.Parcel.createException Parcel.java:2369
android.os.Parcel.readException Parcel.java:2352
android.os.Parcel.readException Parcel.java:2294
com.android.internal.telephony.ISms$Stub$Proxy.sendTextForSubscriber ISms.java:2102
android.telephony.SmsManager$1.onSuccess SmsManager.java:618
android.telephony.SmsManager.sendResolverResult SmsManager.java:1627
android.telephony.SmsManager.resolveSubscriptionForOperation SmsManager.java:1588
android.telephony.SmsManager.sendTextMessageInternal SmsManager.java:613
android.telephony.SmsManager.sendTextMessage SmsManager.java:451```
Run Code Online (Sandbox Code Playgroud)

Hir*_*tel 2

找到根本原因了。

当 SIM 卡处于非活动状态时,设备可能会抛出安全异常。

解决办法:更换正常的SIM卡即可。

希望能帮助到你。