我在使用SmsManager中的sendDataMessage()
方法时遇到问题。
在2个GSM模拟器之间发送数据短信似乎至少部分有效,但在Verizon CDMA手机上使用相同的方法时,我得到NullPointerException
。
我发现此链接指向类似的bug report:
“SmsManager.sendDataMessage()总是在CDMA设备上失败,因为有 它没有成功的代码路径。失败可以在无线电日志中看到, 其中com.android.internal.telephony.cdma.sms.BearerData.encodeEmsUserDataPayload() 抛出CodingException。“
但我想知道是否有人找到了解决办法 类似于CDMA手机的东西。
答案 0 :(得分:0)
此代码适用于GSM和CDMA两者
String sms = message.getText().toString();
if(PhoneNumberUtils.isWellFormedSmsAddress(dest))
{
for(String contact:multiContact)
{
smsManager.sendTextMessage(contact, null, sms, null, null);
Toast.makeText(SampleSms.this, "SMS messgae Sent to"+contact, Toast.LENGTH_LONG).show();
}
}
else
{
Toast.makeText(SampleSms.this, "SMS messgae Sent failed", Toast.LENGTH_LONG).show();
}
我还使用了sendDataMessage()
,但是我收到了错误。但上面的代码工作正常