作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
所以我得到了这个堆栈跟踪:
java.lang.NullPointerException
at android.telephony.SmsMessage$SubmitPdu.<init>(SmsMessage.java:132)
at android.telephony.SmsMessage.getSubmitPdu(SmsMessage.java:551)
at android.telephony.SmsManager.sendTextMessage(SmsManager.java:228)
at android.telephony.SmsManager.sendTextMessage(SmsManager.java:107)
at com.emergency.button.SMSSender.safeSendSMS(SMSSender.java:91)
at com.emergency.button.EmergencyActivity$EmergencyThread
.sendSMS(EmergencyActivity.java:294)
at com.emergency.button.EmergencyActivity$EmergencyThread
.sendMessages(EmergencyActivity.java:386)
at com.emergency.button.EmergencyActivity$EmergencyThread
.run(EmergencyActivity.java:266)
这就是我调用 sendTextMessage 的方式,我不验证消息长度或电话号码的有效性:
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
这个错误似乎只发生在 HTC Desire 或 HTC Wildfire with android version 2.2 or 2.21 所以我挖了 android 平台源码(这实际上并不像我想象的那么容易)并发现:
SmsMessage.java once upon a time虽然这可能不相关,因为我看到一些行号没有对齐。
emergency button project是开源的,因此您可以查看代码以供引用。我可能应该注意,我无法自己测试,我没有任何手机型号。
最佳答案
您可能因消息太长而遇到此问题。不过,我不知道为什么它只会发生在某些手机上。
关于android - 为什么在 HTC Desire 上发送短信时会出现 NullPointerException,或者什么是 SubmitPdu?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4580952/
所以我得到了这个堆栈跟踪: java.lang.NullPointerException at android.telephony.SmsMessage$SubmitPdu.(SmsMes
我是一名优秀的程序员,十分优秀!