【问题标题】:AsyncTask FATAL ERROR #3AsyncTask 致命错误 #3
【发布时间】:2016-04-06 04:33:52
【问题描述】:

这是我的异步任务扩展方法的 doInbackground 方法,我在这里遇到致命错误 #4.. 这是我通过异步任务扩展方法调用 Web 服务的代码

       protected String doInBackground(String... params) {


        String MESSAGE=null;
        String NUMBER=null;
         String pass=settings.getString("username","").toString();
    String nam=settings.getString("sender","").toString();
    String uri=settings.getString("type", "").toString();

       try
        {
         MESSAGE= URLEncoder.encode(params[0],"UTF-8");
        }catch (UnsupportedEncodingException e){
            e.printStackTrace();
        }

        try
        {
            NUMBER=URLEncoder.encode(params[1],"UTF-8");
        }catch (UnsupportedEncodingException e){
         e.printStackTrace();
        }



        if(uri.equals("LM1"))
        {
            uri="http://userd.gjsms.net/api/v1/sms/single.json?token="+pass+"&sender_id="+nam+"&msisdn="+NUMBER+"&text="+MESSAGE+"&route=TRANS";
        }
        MyHandler mine=new MyHandler();
        String json=mine.makeServiceCall(uri);
        if(json!=null)
        {
            try{
                JSONObject job=new JSONObject(json);
                boolean error=job.getBoolean("error");
                if(error)
                {
                    Log.e("Add Prediction Error: ",
                            "> " + job.getString("message"));
                }
            }catch (JSONException e)
            {
                    e.printStackTrace();
                }
            }
        else
        {
            Log.e("JSON Data", "JSON data error!");
        }


        return null;
    }

此处显示我的错误列表

FATAL EXCEPTION: AsyncTask #3
Process: com.example.web03.bulkmessenger, PID: 32230
java.lang.RuntimeException: An error occured while executing doInBackground()                                                                            
at android.os.AsyncTask$3.done(AsyncTask.java:304)                                                                            
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
 at java.util.concurrent.FutureTask.setException(FutureTask.java:222)                                                                                                                                                      
 at java.util.concurrent.FutureTask.run(FutureTask.java:242)                                                                                        
 at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)                                                                               
 at                                                                                 

                                                                                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                                                                                at java.lang.Thread.run(Thread.java:818)
                                                                             Caused by: java.lang.IllegalStateException: Target host must not be null, or set in parameters. scheme=null, host=null, path=LM2
                                                                                at org.apache.http.impl.client.DefaultRequestDirector.determineRoute(DefaultRequestDirector.java:2588)
                                                                                at org.apache.http.impl.client.DefaultRequestDirector.executeOriginal(DefaultRequestDirector.java:1250)
                                                                                at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:707)
                                                                                at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:699)
                                                                                at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:520)
                                                                                at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:498)
                                                                                at handler.MyHandler.makeServiceCall(MyHandler.java:45)
                                                                                at handler.MyHandler.makeServiceCall(MyHandler.java:33)
                                                                                at com.example.web03.bulkmessenger.MessageActivity$AsynctaskRunner.doInBackground(MessageActivity.java:124)
                                                                                at com.example.web03.bulkmessenger.MessageActivity$AsynctaskRunner.doInBackground(MessageActivity.java:83)
                                                                                at android.os.AsyncTask$2.call(AsyncTask.java:292)
                                                                                at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                                at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
                                                                                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
                                                                                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
                                                                                at java.lang.Thread.run(Thread.java:818) 

希望你能理解我的问题 提前感谢您的帮助...

【问题讨论】:

  • 请发布完整的堆栈跟踪。
  • 方法expect返回String时为什么返回null?
  • @HendraWijayaDjiono:你能更新我的代码吗?
  • 我的意思是你可以使用 AsyncTask 代替 AsyncTask
  • 无论如何,请检查您尝试访问的网络,它是否处于活动状态?您的设备中有互联网连接吗?您是否将

标签: android android-asynctask fatal-error


【解决方案1】:

当您没有 uri 时就是这种情况。您正在检查条件并为 URI 赋值,但如果条件失败,则您的 uri 为空,因此出现错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 2019-02-07
    • 2017-04-18
    相关资源
    最近更新 更多