Я пытался использовать плагин FacebookConnect для телефонной связи и обнаружил, что он не выполняет обратный вызов, несмотря на успешный вход в систему, после некоторого копания и отслеживания журнала java я свел проблему к этому простому примеру, который напоминает ту же проблему, что я обнаружил с FacebookConnect плагин ...
этот чрезвычайно простой тест провалится, почти идентичный самому простому фрагменту разработки плагина Cordova.
In JS:
var cordova = window.cordova || window.Cordova;
MyTest = {
test: function() {
console.log("Testing");
alert("Testing");
cordova.exec(function(){
console.log("successful return from test");
},
function(){
console.log("failed return");
}, 'org.apache.cordova.mything.MyTest', 'test', []);
}
}
В Java:
public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException {
if (action.equals("test")) {
//Call Back HERE would work
callbackContext.success(new JSONObject("{}"));
cordova.getActivity().runOnUiThread(new Runnable() {
public void run() {
//Callback here DOES NOT WORK
//callbackContext.success(new JSONObject());
};
});
}
}
В контексте этой проблемы:
- «Работа» означает, что сообщение журнала из javascript «успешный возврат из теста» распечатывается в журнале.
- «Не работает» означает, что сообщение журнала из javascript не было напечатано (ни успеха, ни ошибки), вызов просто ушел в пустоту.
Я новичок в телефонной связи и кордове, поэтому я не знаю, будет ли этот конкретный тест работать в предыдущих версиях.
Мое тестовое устройство — Samsung Galaxy S3 под управлением Android 4.1.2. Скомпилировано с помощью CLI phonegap 3.3 (самое новое, которое я вытащил из npm 16 декабря 2013 г.)
Кто-нибудь знает / или проверял, работает ли эта комбинация версий или это только мое устройство / ОС?