Android使用WebView无法显示网页

在阅读《第一行代码》学习WebView的用法时发现的问题以及解决

按照书上的代码编写MainActivity:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        WebView webView =findViewById(R.id.web_view);
        webView.getSettings().setJavaScriptEnabled(true);//让WebView支持JavaScript脚本
        webView.setWebViewClient(new WebViewClient());//在WebView上显示网页
        webView.loadUrl("http://www.baidu.com");
    }
}

然后在AndroidManifest上添加网络权限的声明:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

运行后网页无法显示,显示错误CLEARTEXT_NOT_PERMITTED:
在这里插入图片描述
上网查阅资料后发现原来要在AndroidManifest的Application添加属性:

android:usesCleartextTraffic="true"

添加完运行后网页仍然无法显示,显示新的错误ACCESS_DENIED:
在这里插入图片描述
网上查阅资料后发现这是模拟器版本太高的问题,我使用的是Android9.+的API29的模拟器,修改为版本为API28后网页能正常显示:
在这里插入图片描述
至于如何在API29的模拟器上实现WebView显示网页,我暂无没有解决方案,在Stack Overflow上也有人遇到了同样的问题,但是仍然没有解决方法,如果有人知道如何解决的话希望能告诉我。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值