作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的环境是webview,我想从Java中调用Angular的函数,所以我必须找出该函数。我该怎么办?
最佳答案
为了获取JavaScript函数的返回值,您需要使用evaluateJavascript方法:
webView.evaluateJavascript("javascript:myTestFunction();", new ValueCallback<String>() {
@Override
public void onReceiveValue(String s) {
// Do what you want with the return value
}
});
假设,JavaFunction.SomeJavaMethod()
在 Java 应用程序中定义,
let data = {
'key' : 2
}
JavaFunction.SomeJavaMethod(data);// call from angular
<body>
<app-root></app-root>
<script type="text/javascript">
// data send from webview java app...call from java app
function updateFromJAVAapp(data) {
window['componentRef'].zone.run(() => {
window['componentRef'].component.updateFromMyJavaApp(data);
});
}
</script>
</body>
constructor(
private zone: NgZone
) {
window['componentRef'] = {
zone: this.zone,
componentFn: (value) => this.updateFromMyJavaApp(value),
component: this
};
}
updateFromMyJavaApp(data) {
console.log( JSON.stringify(data)); <=== data passed from java app webview
}
https://www.tanelikorri.com/tutorial/android/communication-between-application-and-webview/
http://shripalsoni.com/blog/nativescript-webview-native-bi-directional-communication/
关于angular - 如何在webview上调用angular8组件的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56980723/
我是一名优秀的程序员,十分优秀!