Android 与 JavaScript 互调
来源:互联网 发布:学matlabgui编程的意义 编辑:程序博客网 时间:2024/05/21 11:30
做混合开发的同学,肯定了解 Android 与JS互调,本文只是Android 与 JavaScript 互调的简单使用,大神请忽略。
阅读完本文,你应该可以学会,如何通过Android调用JS方法,JS调用Android的方法。
Android代码
@SuppressLint("SetJavaScriptEnabled")public class MainActivity extends Activity {//声明一个webviewprivate WebView mWebView;private MyWebViewClient WVClient;private WebSettings webSettings;private MyWebChromeClient chromeClient;//调用JS的Buttonprivate Button callJSBtn;//Object对象,用来跟JS网页绑定private JSObject jsobject;//android调用JS网页的时候会用到private Handler mHandler = new Handler();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}private void initView() {// TODO Auto-generated method stubmWebView = (WebView) findViewById(R.id.webview);callJSBtn = (Button)findViewById(R.id.calljs);WVClient = new MyWebViewClient();chromeClient = new MyWebChromeClient();jsobject = new JSObject(MainActivity.this); webSettings = mWebView.getSettings();webSettings.setJavaScriptEnabled(true);webSettings.setBuiltInZoomControls(true);webSettings.setSavePassword(false);//支持多种分辨率,需要js网页支持webSettings.setUserAgentString("mac os");webSettings.setDefaultTextEncodingName("utf-8");//显示本地js网页mWebView.loadUrl(StringUrl.LOACL);mWebView.setWebViewClient(WVClient);mWebView.setWebChromeClient(chromeClient);//注意第二个参数JsTest,这个是JS网页调用Android方法的一个类似ID的东西mWebView.addJavascriptInterface(jsobject, "jsTest");//调用JS网页callJSBtn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {mHandler.post(new Runnable() {@Overridepublic void run() {//调用JS中的 函数,当然也可以不传参mWebView.loadUrl("javascript:androidCallJS('顺便传个参数给JS!')");}});}});}//单击系统返回键网页回退@Overridepublic void onBackPressed() {if (mWebView.canGoBack()) {mWebView.goBack();} else {this.finish();}}}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html40/strict.dtd"><HTML><HEAD><meta name="viewport" content="width=device-width, target-densitydpi=device-dpi" /><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><script> function androidCallJS(name){ alert("android call me!"+name); } function testJsCallAndroid(){ jsTest.JsCallAndroid(); } </script></HEAD><BODY><span>测试js使用</span><button id='btntest' onclick='testJsCallAndroid()'>JS调用android的方法</button></BODY></HTML>
1 0
- Android 与 JavaScript 互调
- Android与Javascript互调
- android之WebView与JavaScript互调
- JavaScript 与 Android 交互
- JavaScript与Android交互
- Android与Javascript交互
- Android与Javascript交互
- Android与Javascript交互
- Android与javascript交互
- android与javascript交互
- android与javascript交互
- android与javascript交互调用
- android webview 与 javascript交互
- android与javascript交互调用
- android与javascript相互调用
- android与javascript交互调用
- android与javascript交互调用
- android与javascript交互调用
- Caffe源码中添加新层 详细教程
- TCP/IP,HTTP,Socket的区别
- libhybris及EGL Platform-在Glibc生态中重用Android的驱动
- 使用Perforce 命令 与常用命令行
- vbox使用 ssh & samba 访问真实主机网络配置方法
- Android 与 JavaScript 互调
- VS2013恢复默认窗口布局
- DrawText换行
- 简单粗暴!傻瓜式解决building gradle project info问题
- mysql 优化--定位慢查询
- Android SpannableString使用详解
- 10.安卓拨打电话
- Linux系统下安装rz/sz命令及使用说明
- 首页 » 实用工具 » FastCopy – 文件快速复制工具更新