Un cliente ha segnalato un errore di strano. Quando si effettua una normale AndroidHttpClient.execute() in un AsyncTask, l'applicazione si blocca e si ottiene il seguente stack traceAndroidHttpClient NullPointerException chiamando android.net.http.AndroidHttpClient.isMmsRequest
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
at java.util.concurrent.FutureTask.run(FutureTask.java:239)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:841)
Caused by: java.lang.NullPointerException
at android.net.http.AndroidHttpClient.isMmsRequest(AndroidHttpClient.java:257)
at android.net.http.AndroidHttpClient.checkMmsSendPermission(AndroidHttpClient.java:290)
at android.net.http.AndroidHttpClient.execute(AndroidHttpClient.java:296)
at com.xxx.xxx.MyClass$MyHandler.doWork(MyClass.java:325)
at com.xxx.xxx.NetworkRequestHandler$AsyncTaskForRequestHandler.doInBackground(NetworkRequestHandler.java:532)
at com.xxx.xxx.utils.network.NetworkRequestHandler$AsyncTaskForRequestHandler.doInBackground(NetworkRequestHandler.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
... 3 more
Perché è chiamando checkMMSSendPermission e isSmsRequest? Non stiamo utilizzando MMS e SMS e l'applicazione non ha quei permessi, il che credo sia il motivo per cui si blocca. Questo funziona per tutti gli altri 99,9% dei nostri utenti.
codice simile a questo
AndroidHttpClient client = AndroidHttpClient.newInstance(null);
InputStream inputStream = null;
try
{
HttpPost request = new HttpPost(urlString);
prepareURLRequest(request);
HttpResponse response = client.execute(request);
mResultStatus = response.getStatusLine().getStatusCode();
inputStream = response.getEntity().getContent();
...
Qualsiasi aiuto sarebbe gradito
Aggiornamento
Questo sembra essere solo che colpisce i telefoni Z1 e ZR Sony Xperia Z,. Apparentemente i problemi iniziarono a verificarsi dopo aver ricevuto l'aggiornamento ad Android 4.3. Nessuno con quei telefoni può usare la nostra app ma, per tutto il resto, funziona.
uso 'HttpClient client = new DefaultHttpClient();' – Raghunandan
ringraziare il vostro per il tuo commento. Risolve il problema con MMS? Hai visto questo problema prima? – KlasE
Ho incontrato lo stesso problema su un Sony XL39h. E funziona dopo la modifica a 'DefaultHttpClient'. Hai trovato una soluzione per questo problema senza cambiare 'HttpClient'? –