HttpURLConnection.inputStream empty (InputStream to Bitmap)

0 人关注

我想用下面的一个函数把googleapis地图的图像转换成位图。如果输入url地址,在浏览器中可以看到一个图像。

我正在使用withContext(Dispatchers.IO)来运行该函数,以允许connection.connect()在后台运行。

该函数是从主作用域调用的。 connection.connect()并没有抛出任何错误。 InputStream似乎是空的,所以没有东西可以被BitmapFactory解码。

我怎样才能修复这个代码?

 private suspend fun convertToBitmap(venueId: String, location: LatLng, newVenue: Boolean): Bitmap {
    return withContext(Dispatchers.IO){
        val gsmUrl: String? = getStaticMapUrl(venueId, location, newVenue)
        val url = URL(gsmUrl)
        val connection: HttpURLConnection = url.openConnection() as HttpURLConnection
        connection.doInput = true
        try {
            connection.connect()
        }catch (e: java.lang.Exception){
            Timber.e(e)
        val input: InputStream = connection.inputStream
        val bm: Bitmap = BitmapFactory.decodeStream(input)