Ionic3中的背景模式

时间:2018-02-14 07:26:23

标签: cordova typescript ionic2 ionic3 cordova-plugins

我使用socket.io在Ionic3中创建了一个聊天应用程序。我遇到了用户在没有网络可用时发送消息的情况。与whatsapp一样,它应该在网络可用时自动在后台发送。有没有办法在Ionic3中做到这一点?

我已经安装了插件ionic cordova plugin add cordova-plugin-background-mode。你能帮我解决一下如何在Ionic3中做到这一点吗?

2 个答案:

答案 0 :(得分:3)

请按照以下步骤解决

  1. 从ionic-native导入网络和背景模式插件
  2. 创建侦听器以监视应用程序的网络连接(联机和脱机)。
  3. 还创建监听器以观看应用程序的后台模式(打开/关闭)。
  4. 如果应用程序离线,则启用后台模式。
  5. 事件发生时在后台后台模式下,您可以执行逻辑以将数据保存在localStorage或indexDB中,无论您愿意使用什么。 例如: 将带有消息有效负载的新消息推送到您定义的数组。 然后将数组保存到indexDB。
  6. 如果应用程序上线,请检查所有数据是否在监听器上同步或不在网络内。将数据后台同步到服务器,并从本地清除数据。
  7. 还请检查是否启用了后台模式,如果已启用,请禁用它。

答案 1 :(得分:0)

您可以使用文档中的plugin安装后台模式。

你可以按照以下方式使用它:

import { Network } from '@ionic-native/network';

....

constructor(private network: Network) { }

....

let connectSubscription = this.network.onConnect().subscribe(() => {
  console.log('network connected!');
  // YOUR LOGIC HERE
});