默认情况下,哪些库会处理此方案?如果不使用库,实现这个的最佳方法是什么?
答案 0 :(得分:0)
在db中维护一个SYNC_FLAG ... 如果网络连接打开,则查找SYNC_FLAG为0的条目并重新发送它们。 一旦获得成功,将SYNC_FLAG的表改为1。
答案 1 :(得分:0)
您可以使用服务检查互联网连接何时重新开启:
public class NetWatcher extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getActiveNetworkInfo();
if(intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
NetworkInfo networkInfo = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if(networkInfo.isConnected()) {
/* Internet is back on */
/* Check if any requests need to be send */
}
}
}
此服务将在您的Wifi连接可用时检测到。您应该检查一下您的请求是否因互联网连接而失败,然后在方法内再次执行请求(networkInfo.isConnected())。