如何使用cordova 3.x新命令行界面在主活动中编写代码

时间:2014-03-22 08:23:03

标签: cordova cordova-2.0.0 cordova-plugins

我想写一个新的cordova插件,我需要更改MainActivity,如何只使用plugin.xml

1 个答案:

答案 0 :(得分:0)

你不能只使用plugin.xml。您需要设置3件事。

你需要使用cordova.exec API才能在javascript代码和android活动之间进行通信。

首先需要在config.xml中声明自定义插件

<feature name="CustomPlugin">
      <param name="android-package" value="com.AndroidApacheCordovaPlugin.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);
}