在 gcmintentservice.java 中使用 onresume 函数

Posted

技术标签:

【中文标题】在 gcmintentservice.java 中使用 onresume 函数【英文标题】:Using onresume function in gcmintentservice.java 【发布时间】:2017-04-20 07:57:21 【问题描述】:

问题: 当应用程序打开并且我们收到通知并单击通知时,我会将用户重定向到相应的页面。我需要GCMIntentService.java文件中的onclick通知事件

我已经用 ionic 构建了一个聊天应用程序。拥有多个群组。现在,当消息来自不同的组时,我使用 hashmap 来增加计数,并且我显示诸如 You have X unread message in XXXX group 之类的文本

我想使用platforms/android/src/com/plugin/gcm/PushHandlerActivity.java中的on resume函数

 @Override
  protected void onResume() 
    super.onResume();
    final NotificationManager notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.cancelAll();
    hmap = new HashMap<Integer, String>();

  

在platforms/android/src/com/plugin/gcm/GCMIntentService.java 中,所以当点击推送通知时,我会重新初始化哈希映射并且计数从0开始

这是我的GCMIntentService.java 将帮助任何需要执行类似功能的人

【问题讨论】:

【参考方案1】:

这就是我实现这一点的方式。在您的 PushHandlerActivity 文件中,您需要清除 hashmap

   /*
         * this activity will be started if the user touches a notification that we own. 
         * We send it's data off to the push plugin for processing.
         * If needed, we boot up the main activity to kickstart the application. 
         * @see android.app.Activity#onCreate(android.os.Bundle)
         */
        @Override
        public void onCreate(Bundle savedInstanceState)
        
            super.onCreate(savedInstanceState);
            Log.v(TAG, "onCreate");

            boolean isPushPluginActive = PushPlugin.isActive();
            processPushBundle(isPushPluginActive);

            finish();
            GCMIntentService.hmap.clear();
            if (!isPushPluginActive) 
                forceMainActivityReload();
            
        

【讨论】:

以上是关于在 gcmintentservice.java 中使用 onresume 函数的主要内容,如果未能解决你的问题,请参考以下文章

显示收到的推送通知

在 Maven 中,如何在版本中命名战争文件与在快照构建中不同

存储在 plist 中的数据在模拟器中有效,但在设备中无效

在 C 中声明 == 在 C++ 中定义? [复制]

初始化发生在哪里,在 init 方法中还是在实例声明中?

查询在数据库中花费了更多时间,尽管在连接条件中使用了索引列,那么我们可以在代码中做些啥来优化