così ottengo questo stack trace:Perché ottengo NullPointerException quando si invia un SMS su un HTC Desire o cos'è SubmitPdu?
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)
Ed è così che io chiamo sendTextMessage, non verifico lunghezza dei messaggi o il numero di telefono di validità:
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
Questo errore sembra verificarsi solo su HTC Desire o HTC Wildfire con Android versione 2.2 o 2.21 così ho scavato la sorgente della piattaforma Android (che in realtà non è facile da fare come mi aspettavo) e ho trovato:
SmsMessage.java once upon a time anche se questo potrebbe non essere rilevante in quanto vedo alcuni dei i numeri di riga non si allineano.
Il emergency button project è open source quindi è possibile controllare il codice per riferimento. Probabilmente dovrei notare che non posso testarlo da solo, non ho né il modello del telefono.
Sono utenti sostenendo che sta andando in crash (forza chiusa o qualcosa di simile)? Ho provato l'app dal mio desiderio e ha funzionato senza problemi - sia messaggi di posta elettronica che di sms inviati con successo. A proposito, la PDU è l'acronimo di Protocol Data Unit. – Squonk
Il mercato Android riporta arresti anomali e ho anche integrato uno stack logger integrato. Quindi sì, si sta bloccando. Grazie per le informazioni e i test, mi chiedo che cosa stia succedendo esattamente. – ubershmekel
vedere la mia risposta/risposta – Squonk