通过排队机制处理离线http请求客户端

时间:2015-07-22 09:30:03

标签: javascript android http mobile

所以这是问题陈述。

我目前正在使用混合移动应用程序(使用ng-cordova)我应该离线模式支持,一切正常,直到在离线模式下发出$ http请求(示例:更新员工的状态)。更改已在本地数据库中更新,但我想在移动连接到互联网后立即发送所有这些请求。我尝试过$ http拦截器,但如果应用程序刷新,它不会持久保存请求。任何建议我怎样才能做到这一点?

提前致谢。

1 个答案:

答案 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秒运行一次,检查我们设备的连接,当检测到互联网时,然后抛出我们的同步并停止线程。这是后台进程,如果我们的应用程序也在第二个平面中也可以...

告诉我,如果我帮助你并做好编程!