您的位置:首页 > 理论基础 > 计算机网络

(二)——添加网络权限和WebView访问网页

2017-11-16 23:32 381 查看
1、添加网络权限

在project页面下,打开app>src>main>AndroidManifest.xml,在倒数第二行之后、之前添加下面一行代码即可。

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


2、WebView访问网页

打开app>src>main>res>layout>activity_main.xml,在最后一行前面写入Webview。

<WebView
android:id="@+id/mainWebView"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout_editor_absoluteX="0dp"
tools:layout_editor_absoluteY="16dp"
tools:ignore="MissingConstraints" />


打开app>src>main>java>MainActivity,在onCreate函数中生成一个WebView组件

WebView wv = (WebView)findViewById(R.id.mainWebView);


有些网页用了Javascript,所以我们的Webview必须要支持JS,

wv.getSettings().setJavaScriptEnabled(true);


如果点击链接希望用当前浏览器响应,而不是调用系统自带浏览器,

wv.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});


打开网页直接用loadUrl,

wv.loadUrl("http://www.baidu.com");


如果不做任何处理,在显示你的Brower UI时,点击系统“Back”键,整个Browser会作为一个整体“Back”到其他Activity中,而不是希望的在Browser的历史页面中 Back。如果希望实现在历史页面中Back,需要在当前Activity中处理并消费掉该Back事件,

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && wv.canGoBack()) {
wv.goBack();// 返回前一个页面
return true;
}
return super.onKeyDown(keyCode, event);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: