android11 webview无法打开本地目录文件,提示ERR_ACCESS_DENIED

在Android11中,WebView默认不允许访问本地文件,由于安全考虑,setAllowFileAccess默认设置为false。这导致开发者在尝试打开getDirs目录中的html文件时遇到问题。解决方法是调用webviewSettings.setAllowFileAccess(true),允许文件访问。此更改影响了Android10及以下版本的默认行为。
摘要由CSDN通过智能技术生成

问题

在Android11设备上,突然无法用WebView打开本地的html文件,我的文件存储在 getDirs目录,无需请求权限也能访问的

原因

setAllowFileAccess

官网文档解释:

Enables or disables file access within WebView. Note that this enables or disables file system access only. Assets and resources are still accessible using file:///android_asset and file:///android_res.
在WebView中启用或禁用文件访问。 请注意,这仅启用或禁用文件系统访问。 asset 和 res 仍然可以使用file:///android_asset和file:///android_res访问。

将这个方法设为true就可以了。

webviewSettiings.setAllowFileAccess(true)

官方出于安全考虑,不推荐在webview访问文件地址,不过在实际开发中总是可能会有这样的需求。在Android 10(Build.VERSION_CODES.Q)及以下版本,这个值默认是为true的,不过在Android 11 (Build.VERSION_CODES.R) 这个值默认为false,因此就出现了访问问题。

android

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值