首页 > 解决方案 > Android:尝试通过 SmsManager 发送短信会将消息重定向到没有地址的默认应用程序

问题描述

根据图块,我使用以下代码:

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(sms_receiver, null, sms_content, null, null);

没有错误,也没有例外。虽然上述内容在我使用的 android studio 模拟器中似乎运行良好,但当我在设备上安装我的应用程序时,再次没有错误或崩溃,但消息作为草稿发送到我的默认 SMS 应用程序,没有收件人。

搜索后,我认为我的手机是双卡(虽然我的设备中只插入了一个)是问题所在,可以通过使用“scAddress”参数来解决。

我仍然不确定上述是否正确,并且我找不到以编程方式获取 scAddress 的方法。

如果它完全相关,我拥有的模型是小米 Redmi Note 6 Pro 和 android 应用程序的 API:

 minSdkVersion 25
 targetSdkVersion 29

标签: androidsmsmanager

解决方案


我假设您已经尝试在 smsManager.sendTextMessage 的第二个参数中设置服务中心地址?

https://developer.android.com/reference/android/telephony/gsm/SmsManager#sendDataMessage(java.lang.String,%20java.lang.String,%20short,%20byte[],%20android.app.PendingIntent, %20android.app.PendingIntent)

看起来应该是电话号码:查看此处了解更多信息:

https://www.developershome.com/sms/cscaCommand.asp


推荐阅读