新建assets文件夹,将html复制到assets目录下

javascript.html

               Carson_Ho        

MainActivity.this

package com.example.kanghuwei.xrecylerview;import android.app.AlertDialog;import android.content.DialogInterface;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.webkit.JsResult;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebView;import android.widget.Button;public class MainActivity extends AppCompatActivity {    private WebView mWebView;    private Button button;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mWebView =(WebView) findViewById(R.id.webview);        WebSettings webSettings = mWebView.getSettings();        // 设置与Js交互的权限        webSettings.setJavaScriptEnabled(true);        // 设置允许JS弹窗        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);        // 先载入JS代码        // 格式规定为:file:///android_asset/文件名.html        mWebView.loadUrl("file:///android_asset/javascript.html");        button = (Button) findViewById(R.id.button);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                // 通过Handler发送消息                mWebView.post(new Runnable() {                    @Override                    public void run() {                        // 注意调用的JS方法名要对应上                        // 调用javascript的callJS()方法                        mWebView.loadUrl("javascript:callJS()");                    }                });            }        });        // 由于设置了弹窗检验调用结果,所以需要支持js对话框        // webview只是载体,内容的渲染需要使用webviewChromClient类去实现        // 通过设置WebChromeClient对象处理JavaScript的对话框        //设置响应js 的Alert()函数        mWebView.setWebChromeClient(new WebChromeClient() {            @Override            public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {                AlertDialog.Builder b = new AlertDialog.Builder(MainActivity.this);                b.setTitle("Alert");                b.setMessage(message);                b.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {                    @Override                    public void onClick(DialogInterface dialog, int which) {                        result.confirm();                    }                });                b.setCancelable(false);                b.create().show();                return true;            }        });    }}

更多相关文章

  1. Shape Drawable
  2. android 调用draw(canvas) 函数自动退出
  3. Android应用程序键盘(Keyboard)消息处理机制分析(22)
  4. 去掉android的屏幕上的title bar
  5. Android(安卓)SQLite存取图像
  6. Android(安卓)唤醒锁
  7. 【Android】兼容Scrollview的可动态设置高度Listview
  8. 高斯模糊效果移植到android系统
  9. Android(安卓)ListView控件的基本用法

随机推荐

  1. Mac电脑开发Android app如何连接真机
  2. Android的7种进度条样式
  3. Android软件安全风险及规范
  4. Android shell 系统命令大全
  5. android 考研appwidget的实现
  6. 安装好android的adt以后重启eclipse,但是
  7. 使用 Eclipse PhoneGap 构建 Android 应
  8. Android之循环显示图像的Android(安卓)Ga
  9. Android API教程:人脸检测(Face Detect)
  10. Android五大布局和ConstraintLayout