webview的使用

 1 package com.example.webview;
 2 
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.app.AlertDialog;
 6 import android.content.DialogInterface;
 7 import android.content.DialogInterface.OnClickListener;
 8 import android.view.Menu;
 9 import android.webkit.JsResult;
10 import android.webkit.WebChromeClient;
11 import android.webkit.WebSettings;
12 import android.webkit.WebView;
13 
14 public class MainActivity extends Activity {
15 
16     @Override
17     protected void onCreate(Bundle savedInstanceState) {
18         super.onCreate(savedInstanceState);
19         setContentView(R.layout.activity_main);
20 
21         // 找打控件
22         WebView web = (WebView) findViewById(R.id.web);
23         // 得到websetting
24         WebSettings webs = web.getSettings();
25         // 设置编码
26         webs.setDefaultTextEncodingName("utf-8");
27         // 设置支持JavaScriptEnabled
28         webs.setJavaScriptEnabled(true);
29         // 找到在assets下的html文件
30         web.loadUrl("file:///android_asset/index.html");
31         // 设置监听
32         web.setWebChromeClient(new WebChromeClient() {
33             @Override
34             // 重写Alert方法
35             public boolean onJsAlert(WebView view, String url, String message,
36                     JsResult result) {
37                 // TODO Auto-generated method stub
38                 // 关闭网页自带的提示
39                 result.cancel();
40                 // 得到对象
41                 AlertDialog.Builder b = new AlertDialog.Builder(
42                         MainActivity.this);
43                 // 重新定义弹出框的内容必须要有show因为要显示出来
44                 b.setTitle("提示框").setIcon(R.drawable.ic_launcher)
45                         .setMessage(message).setPositiveButton("确定", null)
46                         .show();
47                 // 返回一个true
48                 return true;
49             }
50 
51             @Override
52             // 重写Confirm方法是点击提交时的弹出框
53             public boolean onJsConfirm(WebView view, String url,
54                     String message, final JsResult result) {
55                 // TODO Auto-generated method stub
56 
57                 // 得到对象
58                 AlertDialog.Builder b = new AlertDialog.Builder(
59                         MainActivity.this);
60                 // 重写点击提示的标题图片和下面的内容
61                 b.setTitle("确认框").setIcon(R.drawable.ic_launcher)
62                         .setMessage(message)
63                         // 设置点击确定时要干的事情
64                         .setPositiveButton("确定", new OnClickListener() {
65 
66                             @Override
67                             public void onClick(DialogInterface dialog,
68                                     int which) {
69                                 // TODO Auto-generated method stub
70                                 result.confirm();
71                             }
72                             // 设置点击取消时要干的事请
73                         }).setNegativeButton("取消", new OnClickListener() {
74 
75                             @Override
76                             public void onClick(DialogInterface dialog,
77                                     int which) {
78                                 // TODO Auto-generated method stub
79                                 result.cancel();
80                             }
81                         }).show();
82 
83                 // 返回一个true
84                 return true;
85             }
86         });
87     }
88 }
原文地址:https://www.cnblogs.com/3674-it/p/5134335.html