Android webview img 同时加载本地资源和网络资源
时间: 2023-08-29 10:06:25 浏览: 171
在 Android WebView 中同时加载本地图片资源和网络图片资源,可以通过以下方法实现:
1. 将本地图片资源放在 Android 应用程序的 res/drawable 目录下。
2. 在 html 文件中使用 img 标签引用图片资源,例如:
<img src="android.resource://com.example.app/drawable/image" />
<img src="http://www.example.com/image.png" />
其中,"com.example.app" 是应用程序的包名,"image" 是图片资源的名称。
3. 在 WebView 中启用文件访问权限,以便可以加载本地文件。可以通过以下代码实现:
webView.getSettings().setAllowFileAccess(true);
4. 如果您的应用程序运行在 Android 6.0 及更高版本上,则需要在运行时请求读取文件的权限。可以通过以下代码实现:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);
}
其中,MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE 是您自己定义的权限请求码。
注意:在加载网络图片时,可能会遇到跨域访问的问题。您可以通过在 html 文件中添加 "Access-Control-Allow-Origin: *" 头信息来解决跨域访问问题。例如:
<img src="http://www.example.com/image.png" />
<meta http-equiv="Access-Control-Allow-Origin" content="*" />
或者在服务器端添加相应的头信息。
阅读全文