0
我正在开发一个类扩展org.apache.cordova.CordovaPlugin帮助后台任务的Ionic应用程序。我需要通知我的应用程序离子方面的异步事件。我可以注册某种监听器,回调函数或其他机制从java端调用ionic/angular/javascript代码吗?有没有办法从java类扩展org.apache.cordova.CordobaPlugin.java异步调用js函数?
我正在开发一个类扩展org.apache.cordova.CordovaPlugin帮助后台任务的Ionic应用程序。我需要通知我的应用程序离子方面的异步事件。我可以注册某种监听器,回调函数或其他机制从java端调用ionic/angular/javascript代码吗?有没有办法从java类扩展org.apache.cordova.CordobaPlugin.java异步调用js函数?
是的,你可以从原生代码触发webview。
对于安卓
this.appView.loadUrl("javascript:yourmethodname());");
对于iOS:
[webView stringByEvaluatingJavaScriptFromString:@"yourmethodname()"];
yourmethodname应该是你想调用JavaScript函数。
对于你的问题,你可以调用setTimeout方法,它将异步运行。
方法1:
this.appView.loadUrl("javascript:asyncMethod());");
在JS:
function asyncMethod(){
setTimeout(methodtocall(),5000);
}
方法2:
,或者你可以直接从Java
致电asyncmethodthis.appView.loadUrl("javascript:setTimeout(methodtocall(),5000))");
最好使用方法1,因为您可以稍后在js函数中重用它。