我即将编写一个应用程序,通过发布请求将数据发送到服务器。这些请求可能会失败,如果他们这样做,我希望在连接重新联机时发送它们。
实现此行为的最佳方法是什么?
修改 我已经阅读了一些文章并提出了以下想法。我在清单中注册了一个BroadcastReceiver并告诉它监听android.net.conn.CONNECTIVITY_CHANGE和android.net.wifi.WIFI_STATE_CHANGED。当请求无法发送时,我存储请求。如果连接变为活动状态,那么我将发送缓存的请求。
答案 0 :(得分:1)
实现此行为的最佳方法是什么?
从Volley发出bound Service
次请求,如果结果仍在前台,则将结果发回Activity
。
修改强>
如果用户决定关闭应用程序,不会出现问题吗?
完全为什么需要使用Service
。如果您从Activity
执行此操作,即使Activity
被解除,请求仍会继续。如果您的Volley
请求表示为匿名类实例,它将继续保留对外部Activity
类的隐式引用,这会导致内存泄漏/异常。
答案 1 :(得分:0)
使用处理程序或服务连续检查Internet连接,如果它是将数据发送到服务器,否则不要发送。