所以这是问题陈述。
我目前正在使用混合移动应用程序(使用ng-cordova)我应该离线模式支持,一切正常,直到在离线模式下发出$ http请求(示例:更新员工的状态)。更改已在本地数据库中更新,但我想在移动连接到互联网后立即发送所有这些请求。我尝试过$ http拦截器,但如果应用程序刷新,它不会持久保存请求。任何建议我怎样才能做到这一点?
提前致谢。
答案 0 :(得分:0)
我有类似的问题,我认为有一个很好的解决方案......所有与服务器兼容的应用程序都有同步,对吗?这个同步有经典和强制性声明,我们的应用程序有互联网?需要它的所有同步的第一个问题和解决方案是这一个。然后,当我的同步的第一部分检测到设备没有互联网时,我的应用会抛出此方法:
public void ThrowPendingThread(final Activity context){
if(pendingInformation == null || !pendingInformation.isAlive()) {
pendingInformation = new Thread(new Runnable() {
public void run() {
try {
while (true) {
if (isNetworkAvailable(context)) {
MainActivity.CanUpdate = true;
SecondSync_ReceiveInfo(context);
break;
} else {
Log.e("-- Sync_Class.SecondSync_Class --", "Time to sleep!!");
Thread.sleep(10000);
}
}
} catch (Exception ex) {
Log.e("-- Sync_Class.SecondSync_Class --", "Exception", ex);
}
}
});
pendingInformation.start();
}
}
此方法在第一步,检查此线程是否激活/存活(如果不存在)然后抛出它。当这个线程每隔10秒运行一次,检查我们设备的连接,当检测到互联网时,然后抛出我们的同步并停止线程。这是后台进程,如果我们的应用程序也在第二个平面中也可以...
告诉我,如果我帮助你并做好编程!