首页 > 解决方案 > java.lang.RuntimeException:执行doInBackground()时出错?

问题描述

当我单击从模拟器的管理面板中添加的试用视频时,我收到了这样的错误。

EXCEPTION: AsyncTask #4
    Process: yupitr.xhub.video, PID: 2749
    java.lang.RuntimeException: An error occurred while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:354)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
        at java.util.concurrent.FutureTask.run(FutureTask.java:271)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:764)
     Caused by: java.lang.ClassCastException: com.android.okhttp.internal.huc.HttpURLConnectionImpl cannot be cast to javax.net.ssl.HttpsURLConnection
        at yupitr.xhub.video.Methods.Methods.getBitmapFromURL(Methods.java:390)
        at yupitr.xhub.video.Activity.video.All_PlayerActivity$LoadColor.doInBackground(All_PlayerActivity.java:443)
        at yupitr.xhub.video.Activity.video.All_PlayerActivity$LoadColor.doInBackground(All_PlayerActivity.java:430)
        at android.os.AsyncTask$2.call(AsyncTask.java:333)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:764) 

BitmapFromUrl 代码 这里有我应该组织的地方吗?问题出在哪里?我找不到

public Bitmap getBitmapFromURL(String src) {
    try {
        URL url = new URL(src);
        InputStream input;
        if(Setting.SERVER_URL.contains("https://")) {
            HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
            connection.setDoInput(true);
            connection.connect();
            input = connection.getInputStream();
        } else  {
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setDoInput(true);
            connection.connect();
            input = connection.getInputStream();
        }
        return BitmapFactory.decodeStream(input);
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
}

 

标签: android

解决方案


在您的代码上检查此演员表:

Caused by: java.lang.ClassCastException: com.android.okhttp.internal.huc.HttpURLConnectionImpl cannot be cast to javax.net.ssl.HttpsURLConnection

并且错误指向这些行:

All_PlayerActivity.java:443
All_PlayerActivity.java:430

推荐阅读