Android 通过 localstorage 向 HTML5 传参
来源:互联网 发布:顾毓琇纪念馆 知乎 编辑:程序博客网 时间:2024/06/05 03:17
现在的 APP,Android 与 H5 混合开发已很常见。当 Android 通过 WebView 加载 H5 页面,且需要向其传参时,可以用 loaclstorage 来实现。代码如下:
WebView 先要设置如下属性:
webView.getSettings().setDomStorageEnabled(true); webView.getSettings().setAppCacheMaxSize(1024*1024*8); String appCachePath = getApplicationContext().getCacheDir().getAbsolutePath(); webView.getSettings().setAppCachePath(appCachePath); webView.getSettings().setAllowFileAccess(true); webView.getSettings().setAppCacheEnabled(true); JavaScriptInterface jsInterface = new JavaScriptInterface(this); webView.getSettings().setJavaScriptEnabled(true); webView.addJavascriptInterface(jsInterface, "JSInterface");
然后,传递参数:
webView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { String key = "hello"; String val = "world"; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) { webView.evaluateJavascript("localStorage.setItem('"+ key +"','"+ val +"');", null); } else { webView.loadUrl("javascript:localStorage.setItem('"+ key +"','"+ val +"');"); } } });
JavaScriptInterface 部分的代码如下:
public class JavaScriptInterface { private Activity activity; public JavaScriptInterface(Activity activiy) { this.activity = activiy; } public string getData(String someParameter){ //also you can return json data as string and at client side do JSON.parse if (someParameter == "transmitData" && this.activity.data) { return this.activity.data; }else{ return null; } } }
Js 部分的代码如下:
<script> function ready() { var data = window.JSInterface.getData("transmitData"); localStorage.put("transmitData", data) }; document.addEventListener("DOMContentLoaded", ready);</script>
阅读全文
0 0
- Android 通过 localstorage 向 HTML5 传参
- Android html5 localStorage
- html5 localStorage
- html5 LocalStorage
- HTML5 localStorage
- HTML5 localStorage
- HTML5 localStorage
- HTML5:localStorage
- HTML5 localStorage
- HTML5中的localStorage
- HTML5 LocalStorage 本地存储
- HTML5 LocalStorage 本地存储
- HTML5 LocalStorage 本地存储
- HTML5 LocalStorage 本地存储
- HTML5 LocalStorage 本地存储
- HTML5 LocalStorage 本地存储
- HTML5 LocalStorage 本地存储
- HTML5 LocalStorage 本地存储
- 198. House Robber
- 错误积累
- ARouter源码解析06-openDebug
- 数据库安装之各种问题二(创建ODBC源,VB丢失Microsoft Data Environment Instance6.0解决办法)
- 【MVC】过滤器应用-代码
- Android 通过 localstorage 向 HTML5 传参
- 词汇暴增计划
- Oracle按不同时间查询
- 暑期集训第三天
- SQL模拟考试题
- JavaScript高级程序设计(3)
- 《算法导论》第二章-思考题(参考答案)
- Java学习第九天
- javaday01补充(赋值运算)