1. 在要Activity中实例化WebView组件:WebView webView = new WebView(this);
  2. 调用WebView的loadUrl()方法,设置WevView要显示的网页:互联网用:webView.loadUrl(“http://www.4u4v.com");本地文件用:webView.loadUrl(“file:///android_asset/XX.html"); 本地文件存放在:assets 文件中
  3. 调用Activity的setContentView( )方法来显示网页视图
  4. 用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
  5. 需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。
    <uses-permission android:name="android.permission.INTERNET" />

下面是具体例子:

 MainActivity.java
 package com.example.myapplication;
 import android.os.Bundle;
 import android.view.KeyEvent;
 import android.webkit.WebView;
 import androidx.appcompat.app.AppCompatActivity;
 public class MainActivity extends AppCompatActivity {
 private WebView webview;
 @Override
 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //实例化WebView对象
    webview = new WebView(this);
    //设置WebView属性,能够执行Javascript脚本
    webview.getSettings().setJavaScriptEnabled(true);
    //加载需要显示的网页
    webview.loadUrl("https://lycorisradiata.cn/");
    //设置Web视图
    setContentView(webview);
 }
 @Override
 //设置回退
 //覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法
 public boolean onKeyDown(int keyCode, KeyEvent event) {
     if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
         webview.goBack(); //goBack()表示返回WebView的上一页面
         return true;
     }
     return false;
 }

}
在AndroidManifest.xml文件中添加权限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.myapplication">
   <uses-permission android:name="android.permission.INTERNET"></uses-permission>
   <application
     android:allowBackup="true"
     android:icon="@mipmap/ic_launcher"
     android:label="@string/app_name"
     android:roundIcon="@mipmap/ic_launcher_round"
     android:supportsRtl="true"
     android:theme="@style/AppTheme">
     <activity android:name=".MainActivity">
          <intent-filter>
             <action android:name="android.intent.action.MAIN" />

             <category android:name="android.intent.category.LAUNCHER" />
          </intent-filter>
     </activity>
  </application>
</manifest>
Last modification:March 9th, 2020 at 04:25 pm
如果觉得我的文章对你有用,请随意赞赏