Cordova在Android应用程序中接收事件

时间:2015-03-26 09:51:44

标签: android cordova phonegap-plugins cordova-plugins

我是Cordova的新手,在使用Cordova网络视图时,我想了解如何在我的Android应用中捕获从JS触发的事件。

我有这个类实现了CordovaInterface并且具有这个功能(我想接收事件):

@Override
public void setActivityResultCallback(CordovaPlugin cordovaPlugin)
{}

我成功实现了嵌入了JS游戏的Web视图。 假设我在该界面中接收事件如何区分事件,以便我适当地处理每个事件?

寻找一些有助于我入门的代码示例或参考资料

1 个答案:

答案 0 :(得分:0)

首先,您需要在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);
}

参考:http://blog.revivalx.com/2014/03/10/androidios-adding-native-functionality-to-hybrid-application-with-apache-cordova-plugin/