ImageView: resolveUri failed on bad bitmap uri: "https://via.placeholder.com/600/24f355"
时间: 2023-08-03 11:03:47 浏览: 111
这个错误发生在尝试从一个 URL 加载图片时,但是这个 URL 并不是一个有效的图片文件。可能是因为这个 URL 指向了一个不存在的资源或者它不是一个图片文件。你可以检查一下这个 URL 是否正确,并且尝试在浏览器中打开它,看看是否能够正确地加载图片。另外,你也可以尝试使用一些第三方库来加载图片,例如 Glide 或者 Picasso,它们能够自动处理一些常见的问题,如网络连接超时、图片格式不正确等。
相关问题
Android。 https://www.csdn.net/?spm=1018.2226.3001.4476 转换成bitmap
要将一个网页转换为 Bitmap,你需要进行以下步骤:
1. 首先,使用 `WebView` 加载网页内容。
2. 等待网页加载完成后,将 `WebView` 的内容绘制到一个 `Bitmap` 对象上。
下面是一段示例代码:
```java
WebView webView = new WebView(context);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
// 当网页加载完成后,将 WebView 的内容绘制到 Bitmap 上
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas);
// 在这里可以使用获取到的 bitmap 进行操作,例如显示在 ImageView 中
}
});
webView.loadUrl("https://www.csdn.net/?spm=1018.2226.3001.4476");
```
在这段代码中,我们创建了一个 `WebView` 对象,并设置了一个 `WebViewClient` 来监听网页加载的完成事件。当网页加载完成后,我们创建了一个与 `WebView` 相同大小的 `Bitmap` 对象,并创建一个 `Canvas` 对象来将 `WebView` 的内容绘制到 `Bitmap` 上。最后,可以对获取到的 `bitmap` 进行操作,例如显示在 `ImageView` 中。
请注意,在使用 `WebView` 时,需要在 AndroidManifest.xml 文件中添加 Internet 权限:
```xml
<uses-permission android:name="android.permission.INTERNET" />
```
另外,记得在主线程中执行该代码,或者使用 `runOnUiThread()` 方法来切换到主线程执行。
W/ImageView: Unable to open content: file:///storage/emulated/0/Pictures/IMG_1685190577544.jpg
这个错误通常是由于缺少读/写外部存储权限引起的,你可以在AndroidManifest.xml中添加以下权限:
```
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
```
如果你已经添加了这些权限,那么可能是因为你的应用程序没有正确请求这些权限。你可以使用以下代码请求这些权限:
```java
if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(activity, new String[] { Manifest.permission.READ_EXTERNAL_STORAGE }, 0);
}
if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(activity, new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE }, 0);
}
```
请注意,这些代码应该在你尝试访问外部存储器之前运行。