【发布时间】:2014-07-08 12:45:29
【问题描述】:
我试图将 FacebookConnect 插件用于 phonegap,发现尽管登录成功,但它没有进行回调,经过一些挖掘和 java 日志跟踪后,我将问题归结为这个简单的示例,它类似于我发现的相同问题使用 FacebookConnect 插件...
这个极其简单的测试会失败,几乎与 cordova 最简单的插件 dev sn-p 相同。
在 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 的日志消息“成功返回 test”在日志中打印出来。
- “不工作”表示日志消息 来自 javascript 的没有打印(既不成功也不失败),调用 只是进入了虚空。
我是 phonegap 和 cordova 的新手,所以我不知道这个特定的测试是否适用于以前的版本。
我的测试设备是运行 android 4.1.2 的三星 Galaxy S3,通过 phonegap 3.3 CLI 编译(我于 2013 年 12 月 16 日从 npm 提取的最新版本)
有人知道/或测试过这个版本组合是否有效,或者它只是我的设备/操作系统?
【问题讨论】:
-
你可以使用这个插件github.com/studiosoton/faceGap而不使用原生插件检查它
-
或者你必须更新插件,比如 phonegap 3 docs.phonegap.com/en/edge/…
-
mohamd,我没有尝试过那个链接,但我已经做了很多研究,我认为没有本机代码插件就不可能在本机应用程序中登录 Facebook .本质上,您指向的 git 看起来根本不像 phonegap 插件,因为它是纯 JavaScript 的,所以它看起来只是 facebook 的 oauth http 调用的包装器。
-
澄清一下,我的问题不在于该插件不能作为插件系统地工作。我可以安装插件 - 完全没有问题。正是代码中的某些东西使它在逻辑上对我不起作用。我将其追溯到插件的 Java 代码,我编写了一个简单的测试来重现我在插件代码中发现的问题。
-
你有什么发现吗,@JChow?我有很多相同的问题,但仅限于三星设备。根本无法使用线程。
标签: cordova phonegap-plugins cordova-3