短信管理器不适用于特定设备

SMS manager not working on specific devices

我正在开发一个可以向特定号码发送特定消息的应用程序。 消息已经预先定义,例如 "SYSSTAT",当用户启动应用程序时,数字也是预先定义的 he/she 输入接收器设备编号。

但作为 SMSManager returns RESULT_ERROR_GENERIC_FAILURE,我遇到了错误,我已经在各种 OS 上进行了测试,比如从 Marshmallow 到 Pie,但我只在 Marshmallow 设备上遇到错误.

我也已经手动授予了每个权限,但不幸的是,我只在 Redmi 4A、Note 7 pro、Note 7、Nokia 6.1 等上检查过,不能在 marshmallow 设备上工作...

请帮助我。

这是由于simInfo.subscriptionId

这是我管理它的示例代码。

val activeList = subscriptionManager.activeSubscriptionInfoList
if (activeList != null && activeList.isNotEmpty()) {
    isMultipleSubscriptions = activeList.size > 1

    val simInfo1 = activeList[0] as SubscriptionInfo
    val simInfo2 = activeList[1] as SubscriptionInfo

    if (simInfo1.displayName != null && simInfo1.displayName != "") {
        companies.add(simInfo1.displayName.toString())
        companySubscriptionId.add(simInfo1.subscriptionId)
    }
    if (simInfo2.displayName != null && simInfo2.displayName != "") {
        companies.add(simInfo2.displayName.toString())
        companySubscriptionId.add(simInfo2.subscriptionId)
    }
}

并使用选定的订阅 ID 发送短信

SmsManager.getSmsManagerForSubscriptionId(aSubscriptionId)
                .sendTextMessage(
                    phoneNumber,
                    null,
                    aMsg,
                    sentPI,
                    deliveredPI
                )