添加网络权限
在AndroidManifest.xml
文件中添加<uses-permission>
标签
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application
------
------
</application>
界面添加WebView
控件
在activity_main.xml
文件中添加WebView
控件
<WebView
android:id="@+id/webSite"
android:layout_width="385dp"
android:layout_height="574dp"
android:visibility="visible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
开启网页访问
在MainActivity.java
写入代码
//首先导入包
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
//屏幕常亮 在 setContentView 上写
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
// 隐藏状态栏
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE//状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。
| View.SYSTEM_UI_FLAG_FULLSCREEN//Activity全屏显示,且状态栏被隐藏覆盖掉。
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE//这个标志来帮助你的应用维持一个稳定的布局。
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY//全屏沉浸模式,
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION//效果同View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);//隐藏虚拟按键(导航栏)。有些手机会用虚拟按键来代替物理按键。
//隐藏标题栏
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
//核心代码
mWebView = (WebView)this.findViewById(R.id.webSite);
//启动缓存
mWebView.getSettings().setAppCacheEnabled(true);
//设置缓存模式
mWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);//设置js可以直接打开窗口,如window.open(),默认为false
mWebView.getSettings().setJavaScriptEnabled(true);//是否允许执行js,默认为false。设置true时,会提醒可能造成XSS漏洞
mWebView.getSettings().setSupportZoom(true);//是否可以缩放,默认true
mWebView.getSettings().setBuiltInZoomControls(true);//是否显示缩放按钮,默认false
mWebView.getSettings().setUseWideViewPort(true);//设置此属性,可任意比例缩放。大视图模式
mWebView.getSettings().setLoadWithOverviewMode(true);//和setUseWideViewPort(true)一起解决网页自适应问题
mWebView.getSettings().setDomStorageEnabled(true);//DOM Storage
//在webview内部跳转web页面
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
mWebView.loadUrl("http://www.dome.me/");