应用程序不再处于活动状态时的Phonegap插件结果

时间:2014-04-28 19:44:57

标签: android cordova phonegap-plugins google-chrome-app

我正在尝试为Android修改the phonegap/cordova PushPlugin插件,以便在应用未处于活动状态但始终进行一些javascript工作时不创建状态栏通知。

我希望收到我的GCM消息,随时可以使用javascript 对其进行一些操作。

PushPlugin收到的GCM消息=> javascript函数调用。

当我的cordova应用程序处于活动状态(即处于前台或暂停状态)时,我没有问题。 但是,当应用程序被销毁时,我无法使用sendJavascript(...)。它使应用程序崩溃。

当应用程序不再处于活动状态时,是否有办法保留回调上下文或唤醒webview?

PS:我在谷歌的所有研究中都完全迷失了,这些研究给了我原来的结果和所有不同版本的phonegap。

更新:

我实际上是那段代码:

public class PushPlugin extends CordovaPlugin {

private static CallbackContext callbackCont;


public boolean execute(String action, JSONArray data, CallbackContext callbackContext) {
       callbackCont = callbackContext;

       PluginResult progressResult = new PluginResult(PluginResult.Status.OK, "Start");
       progressResult.setKeepCallback(true);
       callbackCont.sendPluginResult(progressResult);
}


//Fired by an Receiver
public static void action(JSONObject _json) {

        PluginResult progressResult = new     PluginResult(PluginResult.Status.OK, "Message");
        progressResult.setKeepCallback(true);
        callbackCont.sendPluginResult(progressResult);
}

}

正如预期的那样,仅当app处于活动状态(前台或暂停)时才会触发javascript成功函数

1 个答案:

答案 0 :(得分:0)

由于应用程序最初是一个Chrome打包的应用程序,使用cca为移动设备构建,我现在使用cca支持的chrome app GCM插件,并在新消息到来时唤醒应用程序。

请参阅https://github.com/MobileChromeApps/mobile-chrome-apps/tree/master/chrome-cordova/plugins/chrome.gcm