Picasso:HTTP方案的无法识别的请求类型

时间:2016-09-12 18:51:12

标签: java android picasso

我正在加载图像时同步加载图像以显示通知。

bitmap = picasso.load(imageUrl).get();

工作正常,但今天我有一个例外:

Fatal Exception: java.lang.IllegalStateException: Unrecognized type of request: Request{
http://www.fulbori.com/mp/resources/image/19/17/e.jpg}
       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)
       at com.jumbotail.app.utils.JtImageLoader.loadImageSync(JtImageLoader.java:397)
       at com.jumbotail.app.notifs.JumboGcmIntentService.readInboundIntent(JumboGcmIntentService.java:213)
       at com.jumbotail.app.notifs.JumboGcmIntentService.buildNotification(JumboGcmIntentService.java:273)
       at com.jumbotail.app.notifs.JumboGcmIntentService.onHandleIntent(JumboGcmIntentService.java:49)
       at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:174)
       at android.os.HandlerThread.run(HandlerThread.java:60)

据我所知,当没有请求处理程序可以处理请求时,Picasso会抛出此错误。

现在,根据请求的Uri方案(http)} canHandleRequest(Request data) NetworkRequestHandler方法应该返回true

但是所有请求处理程序都返回false,包括NetworkRequestHandler。因此,毕加索返回ERRORING_HANDLER导致异常:IllegalStateException("Unrecognized type of request: " + request)

这个例外还有其他解释吗?

编辑:我在毕加索也提出了an issue

2 个答案:

答案 0 :(得分:4)

特别是我遇到了这个错误,因为我收到的URL,如错误所提到的,不是处理程序可以使用的有效URL。特别是,URL字符串在“http”之前有空格,如:

" http://example.com/image.jpg"

所以我只需要在url字符串上调用trim(),然后用Picasso加载它,并且效果很好!

答案 1 :(得分:0)

如果您通过毕加索的路径缺少主机名和方案,也可以获取此信息:-)