Ein Kunde hat einen seltsamen Fehler gemeldet. Wenn dabei ein normales AndroidHttpClient.execute() in einer AsyncTask, die App-Abstürze und er bekommt den folgenden Stack-TraceAndroidHttpClient Nullpointerexception aufrufend 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
Warum ist es checkMMSSendPermission und isSmsRequest nennen? Wir verwenden überhaupt keine MMS und SMS, und die Anwendung verfügt nicht über diese Berechtigungen, was vermutlich den Absturz verursacht. Dies funktioniert für alle anderen 99,9% unserer Benutzer.
Code wie folgt aussieht
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();
...
Jede Hilfe
aktualisieren
Dies scheint willkommen wäre nur Auswirkungen auf Sony Xperia Z, Z1 und ZR-Telefone zu werden. Offenbar traten die Probleme nach Erhalt des Updates für Android 4.3 auf. Niemand mit diesen Handys kann unsere App verwenden, aber für alle anderen funktioniert es.
Verwenden Sie 'HttpClient client = new DefaultHttpClient();' – Raghunandan
Vielen Dank für Ihren Kommentar. Löst das das Problem mit MMS? Hast du dieses Problem schon einmal gesehen? – KlasE
Ich habe das gleiche Problem auf einem Sony XL39h gerannt. Und es funktioniert nach dem Wechsel zu 'DefaultHttpClient'. Haben Sie eine Lösung für dieses Problem gefunden, ohne den 'HttpClient' zu ändern? –