网页传数据给安卓

	// 初始化webview
	private void initWebView() {

		mWebView = (WebView) this.findViewById(R.id.webView1);

		WebSettings settings = mWebView.getSettings();
		settings.setJavaScriptEnabled(true);
		//window.myjs.runJs和网页中的这个要匹配,myjs是java类名,runJs是方法名
		mWebView.addJavascriptInterface(new myjs(), "myjs");
		mWebView.loadUrl(webHttpUrl);

	}

	Handler handlerJs = new Handler() {
	};

	class myjs {
		
/*		android中webView中Js不执行是因为版本的问题,大于等于17后就需要对调用方法加注解才会执行。
               解决方法如下:js调用的方法上面加@JavascriptInterface*/

		@JavascriptInterface
		public void runJs(final String str1, final String str2) {
			handlerJs.post(new Runnable() {

				@Override
				public void run() {
		
//					Toast.makeText(getApplicationContext(),
//							"收到的信息: str1= " + str1 + " str2= " + str2,
//							Toast.LENGTH_SHORT).show();
					XYLog.i("RunJavaScript 284", "");
					toHuiFu(str1, str2);
				}
			});
		}
	}
上面的是java中的相关代码
下面是网页的代码,注意 window.myjs.runJs(str)







 
 


 
  

你可能感兴趣的:(Android)