最近项目开发使用了 Android 原生和 H5 的混合开发,以前也没怎么接触过。所以这次和 H5 联调对接还是踩了很多坑,这里也做个总结希望可以帮助到大家...
首先 Android 和 H5 主要的坑是在彼此之间的数据交互;而如果只是彼此之间简单的界面调用的话,还不是很难。网上搜索有很多的资料,这里也就不说了。
1,Android 调用 H5 的函数,并且 Android 端传递相关参数到 H5;
H5 界面代码如下:
getFromAndroid = function(userid){ arr = userid.split(",") } // android to js功能函数 getFromAndroid 中的参数 userid 就是 Android 端传递过来的参数值,在 H5 代码中就也可以直接使用了...
而 Android 端代码如下:
WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setDomStorageEnabled(true); webSettings.setAllowFileAccess(true); webSettings.setAllowFileAccessFromFileURLs(true); webSettings.setAllowUniversalAccessFromFileURLs(true); webSettings.setAppCacheEnabled(true); webSettings.setAllowContentAccess(true); mWebView.addJavascriptInterface(new JsInteration(), "android"); mWebView.loadUrl("file:///android_asset/tougu/index.html"); mWebView.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); //页面开始加载前 } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); String h5Str = mUserId +