我的Android应用程序有ContentProvider
并将数据(字符串)存储在SQLite表中
这些行需要eb发送到互联网服务器
我希望在远程主机可用时(例如WiFi上)将此数据上传到后台
应尽快发送数据(当然网络可用时) 不干扰我的应用程序的用户界面 它应该发送,即使我的应用程序没有主要焦点(用户可能是短信或使用相机)
可以每5秒将新数据添加到表(out queue)
问:我应该使用后台服务发送未发送的行吗?
使用“报警服务”似乎太频繁了,但我错了
电池续航时间是我主要关注的问题,但其次是它需要尽快发送(或在网络可用后不久)
Android Studio 定位API 17 +
答案 0 :(得分:0)
后台服务最好处理请求并节省电池寿命。你可以检查连接状态并自己发送,只是在没有连接时让服务处理,或者更好的是只使用服务来发送数据并让它决定何时发送它。
关于服务,请参阅此问题:How to be notified on wifi network status change?
这个想法是使用该答案中的代码在您的服务中实现广播接收器,以检测何时存在可用连接。当该连接可用时,您可以发送数据。