java调用js里面的数据

 package cn.itcast.web;

public class DemoActivity extends Activity {
	private WebView webView;
	
	
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
		//得到webview
        webView = (WebView) this.findViewById(R.id.webview);
        //相当于创建了一个浏览器 

        
        
        
        WebSettings settings = webView.getSettings(); // 得到浏览器的设置
		
		
		//网页是否支持javascript  是否自动下载图片,文本大小   webview  useragent
        settings.setJavaScriptEnabled(true);
		//在网页加这么一句.<p><a onClick="window.demo.callPhone()"  href="">联系我们</a></p>
		//让js里面的代码可以调用android里面的java代码.
		
		//callPhone方法.  window 当前窗体
		//增加一个js的本地接口   名字: demo就是js里面的对象.   Object就是对象.
		给js注册了java代码
        webView.addJavascriptInterface(new Object(){
        	public void callPhone(){
        		System.out.println("callphone");
        		Intent intent = new Intent();
				//action  和data
        		intent.setAction(Intent.ACTION_CALL);
        		intent.setData(Uri.parse("tel:1351234567"));
        		startActivity(intent);
        	}
        	
        }, "demo");
		//得到url
        String  url = getResources().getString(R.string.serverurl);
		//加载url.
        webView.loadUrl(url);
    }
	<head> </head> script  <body> <p>id="content" </p>   </body>
	//<script>
	//funtion  fillContent(){
	//document.getElementById("content").innerHTML="hahhahahahahha";
	//}
	//</script>
	
	//java代码调用javascripe代码
	//按钮的点击事件
	//目的直接可以将数据展现到界面里
	public void calljavascript(View view){
		webView.loadUrl("javascript:fillContent()");
	}
}

你可能感兴趣的:(java调用js里面的数据)