android中sendDataMessage和sendTextMessage的区别是什么

android中sendDataMessage和sendTextMessage的区别是什么,android,Android,我的意思是唯一的区别是端口参数。这和CDMA和GSM电话有什么关系吗?。我有这个问题,因为当我尝试从CDMA发送一条没有端口的短信时,它运行得很好,但使用端口时,我的应用程序会崩溃。通过查看它显示给我的日志 java.lang.NullPointerException at android.os.Parcel.readException(Parcel.java:1253) at android.os.Parcel.readException(Parcel.java:1235) at com.an

我的意思是唯一的区别是端口参数。这和CDMA和GSM电话有什么关系吗?。我有这个问题,因为当我尝试从CDMA发送一条没有端口的短信时,它运行得很好,但使用端口时,我的应用程序会崩溃。通过查看它显示给我的日志

java.lang.NullPointerException
at android.os.Parcel.readException(Parcel.java:1253)
at android.os.Parcel.readException(Parcel.java:1235)
at com.android.internal.telephony.ISms$Stub$Proxy.sendData(ISms.java:558)
at android.telephony.SmsManager.sendDataMessage(SmsManager.java:524)
这是CDMA问题吗?因为我有sprint htc手机,我把它当作在印度漫游的手机,我想可能就是这样

下面是我用来从CDMAsmsMgr.sendDataMessagereceiverPhoneNumber发送sms的API,null,short1001,message.getBytes,sentPendingContent,deliveredPendingContent

但从这个API来看,它只适用于CDMA和GSM smsMgr。sendTextMessagereceiverPhoneNumber、null、message、SentPendingContent、DeliveredPendingContent

那么,sendDataMessage和sendTextMessage之间的区别又是什么呢? 我已经阅读了这些方法的文档,但是对于我的场景来说,它并不适合


感谢您的帮助。

查看文档,如果您不使用已弃用的SmsManager,而是使用API 4 up android.telephony.SmsManager提供的版本,则CDMA和GSM似乎不应该成为问题

此类已弃用。由android.telephony.smsmsmanager取代 它支持GSM和CDMA


至于数据消息和文本消息之间的区别,我认为数据消息包括图片文本之类的内容,而sendTextMessage是纯文本。从您提供的错误消息中,听起来好像有什么东西被错误地实例化了,在sendDataMessage调用之前的某个地方留下了一个空值-您能提供该代码和一个值receiverPhoneNumber、null、short1001、message.getBytes、SentPendingContent、,DeliveredPendingContent?

查看文档,如果您不使用不推荐的SmsManager,而是使用API 4以上的android.telephony.SmsManager版本,则CDMA和GSM似乎不应该成为问题

此类已弃用。由android.telephony.smsmsmanager取代 它支持GSM和CDMA

至于数据消息和文本消息之间的区别,我认为数据消息包括图片文本之类的内容,而sendTextMessage是纯文本。从您提供的错误消息中,听起来好像有什么东西被错误地实例化了,在sendDataMessage调用之前的某个地方留下了一个空值-您能提供该代码和一个值的Logcat receiverPhoneNumber、null、short1001、message.getBytes、SentPendingEvent、DeliveredPendingEvent吗