简体   繁体   English

Cordova从Java中调用JavaScript函数而不使用webview

[英]Cordova call JavaScript function from Java without webview

How can we call JavaScript function from Java. 我们如何从Java调用JavaScript函数。 For example i have sayHello function which is in www/js/app.js. 例如,我在www / js / app.js中有sayHello函数。 I need to write a method in java which will call this sayHello and give result back using cordova. 我需要在Java中编写一个方法,该方法将调用此sayHello并使用cordova返回结果。

 sayHello: function(name) {
    return "Hello "+name;
}

Try this 尝试这个

//method to exec javascript
private static synchronized void executeJavascript(final String strJS, CordovaWebView myWebView) {

    Runnable jsLoader = new Runnable() {
        public void run() {
            myWebView.loadUrl("javascript:" + strJS);
        }
    };
    try {
        Method post = myWebView.getClass().getMethod("post",Runnable.class);
        post.invoke(myWebView,jsLoader);
    } catch(Exception e) {
        ((Activity)(myWebView.getContext())).runOnUiThread(jsLoader);
    }
}

Assuming you have a class 假设你有一堂课

public class MyCordovaPlugin extends CordovaPlugin

You would have a method 你会有办法

@Override
public void initialize (CordovaInterface cordova, CordovaWebView webView) {
      //and call your method
      executeJavascript("sayHello('bear')", webView);
}

Finally i got. 终于我明白了。

we need to create java script interface for call back to java. 我们需要创建Java脚本接口来回调Java。 Here is my complete code. 这是我完整的代码。

webView.addJavascriptInterface(mActivity, "callBack");
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("javascript: sayHello('yourName'));

@JavascriptInterface
public void helloResult(String value) {
   Log.v("Result",name);
}

and script. 和脚本。

 sayHello: function(name) {
    callBack.helloResult("Hello "+name);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 How to call a function in WebView Javascript from Android Java without delay? - How to call a function in WebView Javascript from Android Java without delay? 从Cordova Java文件中调用JavaScript函数 - Call javascript function from cordova java file 通过Android WebView从JavaScript调用Java函数 - Call Java function from JavaScript over Android WebView 当webview页面不同时,如何从java调用javascript函数 - How to call javascript function from java when webview page is different Kotlin 在没有 webView 的情况下在 Android 中调用 Javascript 函数 - Kotlin Call Javascript function in Android without webView 带有参数的Android调用javascript函数,没有webview - Android call javascript function with parameters without webview 有没有办法从Webview中的JavaScript调用Java? - Is there a way to call Java from JavaScript in Webview? 从Cordova中的Java方法调用javascript函数 - Calling a javascript function from java method in Cordova 如何在不使用webview的情况下从android phongap应用程序中的javascript调用本机android方法(函数)? - How to call native android method(function) from javascript in android phongap application, without using webview? 如何在Cordova / Phonegap应用程序中从JavaScript调用Java函数? - How can I call a Java function from JavaScript in my Cordova/Phonegap application?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM