[英]How can I call a Java function from JavaScript in my Cordova/Phonegap application?
My application uses Cordova. 我的应用程序使用Cordova。 I need to capture a keypress in my app and then call a Java function in my Cordova app, like so:
我需要在我的应用程序中捕获一个按键,然后在我的Cordova应用程序中调用Java函数,如下所示:
$(document).on('keypress', function() {
// call mySpecialFunction() Java function here
});
and then the Cordova app's main activity: 然后是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
}
}
How can I accomplish this? 我怎么能做到这一点?
you can try this one 你可以尝试这个
Firstly you need to declare your custom plugin in config.xml. 首先,您需要在config.xml中声明您的自定义插件。 You can found this file in res > xml folder.
您可以在res> xml文件夹中找到此文件。
<feature name="CustomPlugin">
<param name="android-package" value="com.Phonegap.CustomPlugin" />
</feature>
Then you need to implement plugin by using Java- code 然后,您需要使用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;
}
}
Finally we calling a plugin from javascript 最后,我们从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.