2013-02-27 3 views
3

Привет, я использую this Плагин уведомления GCM для Android и работает почти идеально, единственная проблема, с которой я сталкиваюсь, - это когда пользователь закрывает мое приложение или когда устройство закрывается, служба уведомлений перестает работать.Получить контекст в плагине cordova

Я рассмотрел проблему с кодом плагина и понял, что следующая проблема вызывает проблему.

 public static void sendJavascript(JSONObject _json) 
     { 
     String _d = "javascript:"+gECB+"(" + _json.toString() + ")"; 
      Log.v(ME + ":sendJavascript", _d); 

      if (gECB != null) { 
       gwebView.sendJavascript(_d); 
      } 
} 

Когда устройство выключено, а затем включено или приложение принудительно закрыто, ссылка gwebView теряется. Если я попытаюсь использовать метод gwebView.sendJavascript (_d), я получаю исключение с нулевым указателем.

Просмотр кода плагина я заметил, что gwebView ссылается при регистрации устройства так же, как этот код показывает:

public static Plugin gwebView; 
    private static String gECB; 
    private static String gSenderID; 

    @SuppressWarnings("deprecation") 
@Override 
    public PluginResult execute(String action, JSONArray data, String callbackId) 
    { 

    PluginResult result = null; 

    Log.v(ME + ":execute", "action=" + action); 

    if (REGISTER.equals(action)) { 

     Log.v(ME + ":execute", "data=" + data.toString()); 

     try { 

     JSONObject jo= new JSONObject(data.toString().substring(1, data.toString().length()-1)); 

     gwebView = this; 

..............................More code here...................... 

Уведомления принимаются на заднем плане, но я не могу ссылаться на какие-либо JavaScript методы, поскольку gwebView не указывает ничего ,

Мой подход состоит в том, чтобы показать общее уведомление о статусной панели всякий раз, когда gwebView имеет нулевой указатель, но я просто не знаю, как получить приложение или контекст cordova, чтобы использовать эту функцию.

Любая помощь будет признателен, спасибо

ответ

2

я нашел в форумах Google, что это ошибка плагина, так что я решил использовать сервис уведомлений Pushwhoosh.

+1

Извините за эксгумацию, но можете ли вы связать эту дискуссию с форумами Google, если вы ее помните? –