Плагин Cordova с удаленным URL-адресом хорошо работает с iOS, но не с Android

#javascript #android #cordova

#javascript #Android #cordova

Вопрос:

Я хочу загрузить веб-сайт с его URL-адресом в Cordova WebView в моем проекте Cordova.

Это работает нормально (сайт загружен).

Я разработал пользовательский плагин Cordova, часть javascript удалена, и она хорошо работает с моим проектом iOS, но не с моим проектом Android.

Android (Java) часть плагина не попала.

Вот код, который я добавил в config.xml:

 <feature name="HybridBridge">
    <param name="android-package" value="HybridBridge"/>
</feature>  
 

Код Java-части плагина:

 public class HybridBridge extends CordovaPlugin {
    public static final String ACTION_ADD_CALENDAR_ENTRY = "triggerAction";

    @Override
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
        try {
            if (ACTION_ADD_CALENDAR_ENTRY.equals(action)) { 
               JSONObject arg_object = args.getJSONObject(0);
               // Do something
               callbackContext.success();
               return true;
            }
            callbackContext.error("Invalid action");
            return false;
        } catch(Exception e) {
            System.err.println("Exception: "   e.getMessage());
            callbackContext.error(e.getMessage());
            return false;
        } 
    }
}
 

Я поставил точку останова непосредственно перед попыткой, и она так и не была достигнута.

Код javascript:

 var HybridBridge = {
    createEvent: function(title) {
        cordova.exec(
            successCallback, // success callback function
            errorCallback, // error callback function
            'HybridBridge', // mapped to our native Java class called "CalendarPlugin"
            'triggerAction', // with this action name
            [{                  // and this array of custom arguments to create our entry
                "some arguments": title,
            }]
        ); 
    }
}
 

Скажите мне, если вам понадобится еще какой-нибудь код.

Комментарии:

1. В вашем js-коде вы вызываете действие addCalendarEntry, в то время как в собственном плагине вы сравниваете, равно ли действие triggerAction

2. О, да, это был локальный код плагина, извините, на удаленном сайте это фактически triggerAction.