open an activity from a CordovaPlugin

前端 未结 6 1904
深忆病人
深忆病人 2020-12-13 06:27

I have written a CordavaPlugin derived class.

public class ShowMap extends CordovaPlugin {

@Override
public boolean execute(String action, JSONArray args,
          


        
6条回答
  •  Happy的楠姐
    2020-12-13 07:13

    See this example.

    Firstly you need to declare your custom plugin in config.xml. You can found this file in res > xml folder.

    
          
    
    

    Then you need to implement plugin by using Java- code

    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

    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);
    }
    

提交回复
热议问题