Sax*_*ist 6 java android local-storage cordova
我开发了适用于Android的PhoneGap应用程序.该应用程序由webapp(HTML/jQuery)和由webapp启动的后台服务(Java代码)组成.
这个webapp写入window.localStorage之类的
<script>
window.localStorage.setItem("name","MyName");
</script>
Run Code Online (Sandbox Code Playgroud)
是否可以从我的Java代码中读取localStorage中的此名称?
这个有可能.要执行JavaScript并获得响应,您可以执行以下操作:
在代码中定义JavaScript回调接口:
class MyJavaScriptInterface {
public void someCallback(String jsResult) {
// this will be passed the local storage name variable
}
}
Run Code Online (Sandbox Code Playgroud)
将此回调附加到WebView:
MyJavaScriptInterface javaInterface = new MyJavaScriptInterface();
webView.addJavascriptInterface(javaInterface, "HTMLOUT");
Run Code Online (Sandbox Code Playgroud)
从脚本运行JavaScript调用window.HTMLOUT.someCallback:
webView.loadUrl("javascript:( function () { var name = window.localStorage['name']; window.HTMLOUT.someCallback(name); } ) ()");
Run Code Online (Sandbox Code Playgroud)
注意 - window.localStorage['name']与...相同window.localStorage.getItem('name')
您可能需要使用super.webView.addJavascriptInterface或super.addJavascriptInterface添加界面.您可能需要使用super.webView.loadUrl或super.loadUrl调用它.这一切都取决于你打算从哪里打电话.
| 归档时间: |
|
| 查看次数: |
3817 次 |
| 最近记录: |