[android]Java脚本到Java本地绑定& &;亦然
[android]Java script to Java native Bindings & vice versa
我正在开发web应用程序,我们正在尝试使用Java脚本api访问手机中的本机功能。
Android Web视图支持"AddJavascript"接口,用于Java脚本到Java(本地)绑定,如下面的链接
http://developer.android.com/reference/android/webkit/WebView.html addJavascriptInterface (java . lang . object,以)
但是如果我需要将数据传递回Java脚本,在Android中没有API或机制可以这样做。请让我知道,如果有一个出路,尝试使用JSON如下,我们不能传递使用JSON的各种值
HTML with JS
<script id="source" language="javascript" type="text/javascript">
function OnClick(){
var nativeStr = window.native.getValue();
window.native.callBack();
}
function JScallback(data) {
}
</script>
WebView wv = (WebView) findViewById(R.id.MyWebView);
NativeClass myNative = new NativeClass (wv);
wv.getSettings().setJavaScriptEnabled(true);
wv.addJavascriptInterface(myNative, "native");
wv.loadUrl("file:///html/test.html");
public class NativeClass{
private WebView mWebView;
public NativeClass (WebView appView) {
this.mWebView = appView;
}
public String getValue() {
return "Native Value";
}
public void callBack() {
JSONArray arr = new JSONArray();
JSONObject result = new JSONObject();
try {
result.put("Name", "Android Dev");
arr.put(result);
} catch (Exception ex) {
}
mWebView.loadUrl("javascript:JScallback(" + arr.toString() + ")");
}
提前感谢,Android开发。
正如我在android-developers
谷歌组交叉发布这篇文章时所写的:
调用
loadUrl("javascript:...")
,其中...
是您的JavaScript源代码。该JavaScript源代码将在的上下文中执行当前加载的任何Web页面。这是相同的技术使用"书签"。
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- 无法通过数组映射绑定
- 主干-不管怎样,检查事件以前是否绑定过
- 用于搜索的聚合物嵌套绑定
- Angular:更新一次性绑定的数据
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- react.js中的密钥绑定
- 使用regex的jquery keydown绑定不会验证撇号和句点
- 将事件处理程序绑定到任何可能的事件
- AngularJS指令只识别双向绑定类型
- Telerik rad组合框多列数据绑定
- 无法将java脚本函数与Panel'绑定;s OnLoad事件
- 如何调用绑定到angular元素的java脚本函数
- 将 JavaScript 相等运算符绑定到 Java 函数
- Java 脚本中的 JavaScript 脚本中的绑定方法调用
- Nashorn.绑定本地Java对象
- [android]Java脚本到Java本地绑定& &;亦然
- 如何将Java对象绑定到Javascript控件
- 将Java Integer绑定到JavaScriptEngine;不起作用
- 使用Javascript将java.util.List与下拉列表绑定