首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android.net.http.AndroidHttpClient.isMmsRequest调用AndroidHttpClient Nullpointerexception

android.net.http.AndroidHttpClient.isMmsRequest调用AndroidHttpClient Nullpointerexception
EN

Stack Overflow用户
提问于 2013-12-09 14:56:54
回答 1查看 1.3K关注 0票数 8

一位顾客报告了一个奇怪的错误。在AndroidHttpClient.execute中执行普通的AsyncTask ()时,应用程序崩溃,他得到以下堆栈跟踪

代码语言:javascript
复制
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

为什么它叫checkMMSSendPermission和isSmsRequest?我们根本不使用MMS和SMS,而且应用程序没有这些权限,我猜这就是它崩溃的原因。这适用于所有其他99.9%的用户。

代码如下所示

代码语言:javascript
复制
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();
...

欢迎您提供任何帮助。

更新

这似乎只是影响索尼Xperia,Z1和ZR手机。显然,这些问题是在收到Android4.3的更新后开始出现的。没有人可以使用我们的应用程序,但对所有其他,它的工作。

EN

回答 1

Stack Overflow用户

发布于 2014-01-08 19:35:43

不知道为什么要调用MMS和SMS方法,但尝试这样做:

代码语言:javascript
复制
DefaultHttpClient client = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
try {
    HttpResponse execute = client.execute(httpPost);
    InputStream content = execute.getEntity().getContent();

这应该在没有任何崩溃的情况下起作用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20473630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档