[Android] Picasso get() 에서 IllegalStateException 발생

아주 간헐적인 이슈지만.. Picasso get()에서 illegalStateException이 발생했습니다.

 

java.lang.IllegalStateException:

at com.squareup.picasso.BitmapHunter$2.load (BitmapHunter.java:66)

at com.squareup.picasso.BitmapHunter.hunt (BitmapHunter.java:206)

at com.squareup.picasso.RequestCreator.get (RequestCreator.java:396)

 

 

RequestHandler.Result result = requestHandler.load(data, networkPolicy);

BitmapHunter.java의 206라인에서 문제가 발생했는데 그 코드는 위와 같습니다.

 

   @Override public Result load(Request request, int networkPolicy) throws IOException {
      throw new IllegalStateException("Unrecognized type of request: " + request);
    }

그리고.. 동일한 파일의 66라인에서 Exception이 발생됩니다.

 

스택오버플로우에서 검색을 해보니.. 요청하는 이미지 주소가... 제대로 된 것이 아니면 이런 문제가 발생한다고 합니다.

(https://stackoverflow.com/questions/39456858/picasso-unrecognized-type-of-request-for-http-scheme)

 

해결방법은.. 각자의 경우에 따라 다를 수 있는데

저의 경우에는.. 요청하는 이미지 주소가 제대로 된 것이 아니면.. 그냥 무시하면 됩니다.

그래서 try~catch문으로 감싸줬습니다.

 

Bitmap bmp = null;
try {
    if(thumbnailURL != null && thumbnailURL.length() > 0) { //java.lang.IllegalArgumentException: Path must not be empty.
        bmp = Picasso.with(getApplicationContext()).load(thumbnailURL).get();
        builder.setLargeIcon(bmp);
    }
} catch (IOException e) {
    e.printStackTrace();
} catch (Exception e){ //[200210] fix: IllegalStateException: Unrecognized type of request
    e.printStackTrace();
}

 

작성자

Posted by 드리머즈

관련 글

댓글 영역