gpt4 book ai didi

Cordova 插件从 UI 线程回调到 javascript 似乎在 PhoneGap 3.3 中被破坏

转载 作者:行者123 更新时间:2023-12-02 14:36:24 25 4
gpt4 key购买 nike

我尝试使用 FacebookConnect 插件进行phonegap,发现尽管登录成功,但它没有进行回调,经过一番挖掘和 java 日志记录跟踪后,我将问题归结为这个简单的示例,它与我发现的问题类似使用 FacebookConnect 插件...

这个极其简单的测试会失败,几乎与cordova最简单的插件开发片段相同。

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

在此问题的背景下:

  • “Work”表示来自 javascript“成功返回”的日志消息日志中打印出“test”。
  • “不起作用”表示日志消息来自 javascript 未打印(既不成功也不失败),调用直接消失在虚空之中。

我是phonegap和cordova的新手,所以我不知道这个特定的测试是否适用于以前的版本。

我的测试设备是运行 android 4.1.2 的三星 Galaxy S3,通过phonegap 3.3 CLI 编译(我于 2013 年 12 月 16 日从 npm 获取的最新版本)

有人知道/或测试过这个版本组合是否有效,或者只是我的设备/操作系统?

最佳答案

检查并确保您从 Java 中的 execute 方法返回 true。如果您返回 false,您的成功回调将永远不会被调用。

关于Cordova 插件从 UI 线程回调到 javascript 似乎在 PhoneGap 3.3 中被破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20639223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com