gpt4 book ai didi

angular - 如何在webview上调用angular8组件的功能?

转载 作者:行者123 更新时间:2023-12-02 03:13:10 25 4
gpt4 key购买 nike

我的环境是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
}
});

1) 从 Angular2+ 应用程序调用 Java 应用程序的方法:-

假设,JavaFunction.SomeJavaMethod() 在 Java 应用程序中定义,

.ts

 let data = {
'key' : 2
}
JavaFunction.SomeJavaMethod(data);// call from angular

2) 从 webview/JavaApplication 调用 Angular 方法:-

index.html

<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>

.ts

 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com