我在我的 Android 应用程序中遇到了一个奇怪的问题。我正在使用带有 GCM 插件的 JQuery Mobile 和 Cordova 2.4:https ://github.com/marknutter/GCM-Cordova
奇怪的是,这段代码在我运行 4.2.2 的 Nexus 7 上完美运行,但另一方面,虽然更糟糕的是,运行 4.0.4 的 Trio Stealth Pro 平板电脑,但代码根本无法运行。当我提出请求时,我没有从 GCM 服务器收到任何注册 ID。
这是进行调用的 javascript 代码:
//cordova's deviceready callback
function onDeviceReady() {
document.addEventListener("backbutton", onBackKeyDown, false);
//setup for GCM Messaging
userContext.deviceReady = true;
window.plugins.GCM.register(MY_PROJECT_NUMBER, "GCM_Event", GCM_Success, GCM_Fail);
}
//called from specified attribute in login.html <body onload="onLoad()">
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
document.addEventListener("pause", function () {
unregisterGCM();
},
false);
}
当我的应用程序启动时,我确实收到了一些错误,但是在我进行注册调用之后,它们似乎完全不相关。
"call to OpenGL ES API with no current context (logged once per thread)"
为什么两个平板电脑之间会有这种不同的行为?