【发布时间】:2017-08-23 15:57:36
【问题描述】:
处理互联网连接不可用(在移动设备上很常见)的正确方法是什么?
也许这是一个大问题(也许不是),但是我没有找到任何 Codename One 教程/文章/视频或 API 来处理不稳定的互联网连接(这是移动设备上的常态)而不会出现错误或意外行为. 我找到了一个应用程序 (Protonmail),它具有我想在我的应用程序中复制的功能。请看下面两张截图:第一张是在互联网连接可用时拍摄的,第二张是在互联网连接不可用时拍摄的。
我注意到 ToastBar 不仅在 Internet 被明确禁用时出现,而且在每次服务器无法访问时出现。当显示“未检测到连接”消息时,应用程序会暂停 Internet 活动,因此不会产生错误(并且用户写入的消息不会丢失)。当应用服务器返回可访问状态时,ToastBar 会自动消失(无需按“RETRY”按钮)。
在 Codename One 中以尽可能独立于特定应用的方式实现类似功能的正确方法是什么?是否可以暂停代号一号应用程序的互联网活动然后恢复它?
我在想象这样的事情:
- 应用尝试每隔几秒向服务器发出一个简单的请求(如 ping),实现 performBackgroundFetch 方法;
- 如果在固定时间(即三秒)没有响应,则暂停上网活动并显示ToastBar;
- 如果有响应,则恢复 Internet 活动,重新启动暂停或失败的下载,ToastBar 消失;
- 理想情况下,所有这些都应该与 BrowserComponent 一起使用。
【问题讨论】:
标签: android ios codenameone