So, I get this stack trace:
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)
And so I call sendTextMessage, I do not check the message length or the validity of the phone number:
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
This error only occurs on HTC Desire or HTC Wildfire with version 2.2 or 2.21 for Android, so I dug up the source code of the Android platform (in fact, it's not as easy to do as I expected) and found:
SmsMessage.java once at a time , although this may not be relevant, as I can see that some line numbers do not line up.
The emergency button project is open source, so you can check the code for reference. I must say that I canโt check it myself, I donโt have a phone model.
android sms
ubershmekel
source share