android webview 加载本地html 实现 与 java 之间的相互响应

android webview 加载本地html 实现 与 java 之间的相互响应_第1张图片


xml



    
    


java

package com.example.webview_workflowy;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.webkit.WebView;
import android.widget.Toast;

public class MainActivity extends Activity {

	private WebView webView;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //加载页面
        webView = (WebView) findViewById(R.id.webview);
        //允许JavaScript执行
        webView.getSettings().setJavaScriptEnabled(true);
        //找到Html文件,也可以用网络上的文件
        webView.loadUrl("file:///android_asset/index.html");
        // 添加一个对象, 让JS可以访问该对象的方法, 该对象中可以调用JS中的方法
        webView.addJavascriptInterface(new Contact(), "contact");
    }

    private final class Contact {
        //JavaScript调用此方法拨打电话
        public void call(String phone) {
//            startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phone)));
        	Toast.makeText(MainActivity.this, phone, Toast.LENGTH_LONG).show();
        }

        //Html调用此方法传递数据
        public void showcontacts() {
            String json = "[{\"name\":\"zxx\", \"amount\":\"9999999\", \"phone\":\"18600012345\"}]"; 
            // 调用JS中的方法
            webView.loadUrl("javascript:show('" + json + "')");
        }
        
        public void toast(String str){
        	Toast.makeText(MainActivity.this, "aaaaaaaaaaaa  --- " + str, Toast.LENGTH_LONG).show();
        }
    }

}

html



    
        
        Insert title here
        
    
    
       
       
姓名 存款 电话


代码:http://download.csdn.net/my


你可能感兴趣的:(android,html,+,css,(HTML5,+,CSS3),javascript,java,javascript,+,jquery,html)