繁体   English   中英

如何在Cordova / Phonegap应用程序中从JavaScript调用Java函数?

[英]How can I call a Java function from JavaScript in my Cordova/Phonegap application?

我的应用程序使用Cordova。 我需要在我的应用程序中捕获一个按键,然后在我的Cordova应用程序中调用Java函数,如下所示:

$(document).on('keypress', function() {
    // call mySpecialFunction() Java function here
});

然后是Cordova应用程序的主要活动:

public class EndPipe extends CordovaActivity 
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.init();
        super.loadUrl(Config.getStartUrl());
    }

    public void mySpecialFunction() {
        // some Java code here
    }
}

我怎么能做到这一点?

你可以尝试这个

首先,您需要在config.xml中声明您的自定义插件。 您可以在res> xml文件夹中找到此文件。

<feature name="CustomPlugin">
      <param name="android-package" value="com.Phonegap.CustomPlugin" />
</feature>

然后,您需要使用Java代码实现插件

public class CustomPlugin extends CordovaPlugin {

    @Override
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext)
            throws JSONException {

        if (action.equals("sayHello")){
            try {
                String responseText = "Hello world, " + args.getString(0);
                callbackContext.success(responseText);
            } catch (JSONException e){
                callbackContext.error("Failed to parse parameters");
            }
            return true;
        }

        return false;
    }
}

最后,我们从javascript调用插件

function initial(){
    var name = $("#NameInput").val();
    cordova.exec(sayHelloSuccess, sayHelloFailure, "CustomPlugin", "sayHello", [name]);
}

function sayHelloSuccess(data){
    alert("OK: " + data);
}

function sayHelloFailure(data){
    alert("FAIL: " + data);
}

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM