我正在创建一个cordova插件,我需要在角度JS代码中引发自定义事件。
例如,我需要从本机java代码
调用下面的函数var callFromJava=function(){
alert("Call received from Native code");
}
现在我需要通过本机代码中的活动来调用它。
更新1 Cordova文件
public class CordovaApp extends CordovaActivity
{
super.onCreate(savedInstanceState);
super.init();
wv = new CordovaWebView(this);
Log.i("PARSEPUSH","URL of main "+wv.getUrl());
// Set by <content src="index.html" /> in config.xml.
Log.i("PARSEPUSH",launchUrl);
loadUrl(launchUrl);
public void callJS(){
//something goes here to call JS event.
}
}
我想使用Cordova loadUrl
和sendJavascript()
方法。我不知道如何使用它们。
答案 0 :(得分:1)
public void callJS() {
if (this.appView != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
appView.stopLoading();
appView.evaluateJavascript("(function(){return document.location.href;})();", new ValueCallback<String>() { @Override
public void onReceiveValue(String value) {
//doSomething for the return value
}
});
} else {
appView.loadUrl("javascript:alert(document.location.href);");
}
}
请参阅此代码段以了解它是否有帮助。这与Codorva Phonegap无关,只是从Java端调用Js。
如果你想写Cordova插件,你可以参考Devgirl's Weblog。她写了很多关于电话差距扩展的优秀文章。