如何在phonegap android中用javascript代码传递android活动,反之亦然?

时间:2014-03-10 09:16:53

标签: javascript android cordova

我是phonegap开发的新手。我想知道如何将我们的phonegap网页与原生Android活动进行通信,反之亦然,并给我任何一个关于phonegap学习的教程。请任何人帮助我。

提前感谢。

1 个答案:

答案 0 :(得分:0)

你需要使用cordova.exec API才能在javascript代码和android活动之间进行通信。也许这个链接可以帮到你。

http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v610/06_05_Android_-_Adding_native_functionality_to_hybrid_application_with_Apache_Cordova_plugin.pdf

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