微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Android webview中将变量从java传递给javascript?

如何解决如何在Android webview中将变量从java传递给javascript?

我已经在 stackoverflow 中看到了一个类似的问题,但我想要一个更好的解释这个问题的答案。我是 android 开发的新手,我试图弄清楚如何将我的 java 代码中的变量传递给 index.html 中的 javascript。欢迎提出任何建议。

解决方法

您可以尝试使用 JsBridge 库:

https://github.com/lzyzsd/JsBridge
,

尝试使用以下代码可能会对您有所帮助。

//Android WebView code
JavaScriptInterface JSInterface;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
wv = (WebView)findViewById(R.id.webView1);
wv.getSettings().setJavaScriptEnabled(true);
// register class containing methods to be exposed to JavaScript
JSInterface = new JavaScriptInterface();
wv.addJavascriptInterface(JSInterface,"JSInterface");
wv.loadUrl("file:///android_asset/myPage.html");
}

public class JavaScriptInterface {
@android.webkit.JavascriptInterface
public void showToast(String msg)
{
    Log.d("TAG",msg);
}
}



//This is your web page
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
       function init()
       {
          var testVal = 'Android Toast!’;
          Android.showToast(testVal);
       }
    </script>
</head>
<body>
<div style="clear: both;height: 3px;"> </div>
  <div>
  <input value="submit" type="button" name="submit"
       id="btnSubmit" onclick="javascript:return init();" />
</div>
 </body>
</html>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。