2014-09-18 3 views
0

Я пытаюсь добавить Echo Plugin согласно instrcution здесьКордова Echo Plugin возвращает ложь

http://cordova.apache.org/docs/en/2.5.0/guide_plugin-development_index.md.html http://cordova.apache.org/docs/en/2.5.0/guide_plugin-development_android_index.md.html#Developing%20a%20Plugin%20on%20Android

Вот мои изменения

config.xml

<plugin name="Echo" value="org.apache.cordova.Echo" /> 

www/js/index.js

onDeviceReady : function() { 
      navigator.geolocation.getCurrentPosition(onSuccess, onError); 

      app.receivedEvent('deviceready'); 

      window.echo = function(str, callback) { 
cordova.exec(callback, function(err) { 
    callback('Nothing to echo.'); 
}, "org.apache.cordova.Echo", "echo", [str]); 

};

платформы/Android/CordovaLib/SRC/орг/Apache/Cordova/Echo.java

package org.apache.cordova; 


import org.apache.cordova.CordovaPlugin; 
import org.apache.cordova.PluginResult; 
import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 

/** 
* This class echoes a string called from JavaScript. 
*/ 
public class Echo extends Plugin { 
@Override 
public boolean execute(String action, JSONArray args, CallbackContext callbackContext)  throws JSONException { 
    if (action.equals("echo")) { 
     String message = args.getString(0) ; 
     this.echo(message, callbackContext); 
     return true; 
    } 
    return false; 
} 

private void echo(String message, CallbackContext callbackContext) { 
    if (message != null && message.length() > 0) { 
     callbackContext.success(message); 
    } else { 
     callbackContext.error("Expected one non-empty string argument."); 
    } 
} 
} 

Команда: Cordova построить андроида & & Кордову эмулировать андроид

Только когда приложение запустите его, появится предупреждающее сообщение «false»

Использование 3.5.0-0.2.7

Спасибо за помощь по этому вопросу

ответ

0

То, что следует за этим, гораздо лучшая идея - клонировать существующий рабочий плагин. В моем случае я клонировал плагин устройства cordova и добавлял несколько свойств в Java и извлекал их в js-файле, как и другие свойства. После этого, вы можете добавить плагин со стандартной командой Cordova

Cordova плагин добавить < local_path_to_plugin>

Таким образом, его легче сосредоточиться на информации, которая должна быть передана от Родом Кордова, вместо того, чтобы пытаться, выясняя ошибки или сам плагин, если не определенно, ваша задача - глубоко понять плагины cordova.

С благодарностью

Смежные вопросы