Android Ionic Cordova:推送消息接收消息的通知插件。

Android Ionic Cordova:推送消息接收消息的通知插件。,android,cordova,push-notification,cordova-plugins,Android,Cordova,Push Notification,Cordova Plugins,我正在使用ionic cordova开发聊天应用程序。当用户收到新消息时,我正在使用PushNotification。问题是当用户收到新消息时。我的应用程序必须更新服务背景中的聊天列表。然而,爱奥尼亚科尔多瓦不能在后台服务。如何在后台更新聊天列表?我想创建一个自定义插件,一旦用户onMessage()在PushNotification插件中收到通知,它将调用另一个自定义插件。在自定义插件中,我使用urlconnection调用php服务器从服务器获取最新信息。接下来,自定义插件将更新phone中

我正在使用ionic cordova开发聊天应用程序。当用户收到新消息时,我正在使用PushNotification。问题是当用户收到新消息时。我的应用程序必须更新服务背景中的聊天列表。然而,爱奥尼亚科尔多瓦不能在后台服务。如何在后台更新聊天列表?我想创建一个自定义插件,一旦用户onMessage()在PushNotification插件中收到通知,它将调用另一个自定义插件。在自定义插件中,我使用urlconnection调用php服务器从服务器获取最新信息。接下来,自定义插件将更新phone中的sqlite信息。这样做是一种好的做法吗?

我建议您修改推送通知插件代码。无论何时收到通知,在gcminentservice.java中都会检查应用程序是在前台还是后台。如果应用程序不在前台,则使用以下语法将通知有效负载数据保存在SharedReferences

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
      SharedPreferences.Editor editor = settings.edit();
      editor.putString("pushdata", data);

      // Commit the edits!
      editor.commit();
每当用户打开应用程序时,请检查共享首选项,并使用以下插件获取存储的数据

cordova plugin add cordova-plugin-shared-preferences --save
获取共享首选项的示例代码

document.addEventListener('deviceready', () => {
  const prefs = window.plugins.SharedPreferences
  prefs.getSharedPreferences('shared_preferences', 'MODE_PRIVATE', () => {
    prefs.putString('pref_key', 'some text')

    prefs.getString('pref_key', (value) => {
      alert(value)
    }, (error) => {
      // handle error
    })
  }, (error) => {
    // handle error
  })
}
希望对你有帮助