| | |
| | | /// </summary>
|
| | | private Com.Mediatek.Elian.ElianNative hdlWiFi = null;
|
| | | #endif
|
| | |
|
| | | /// <summary>
|
| | | /// TCP协议
|
| | | /// </summary>
|
| | |
| | | /// Ap模式网关返回的秘钥
|
| | | /// </summary>
|
| | | private string randDesKey = null;
|
| | | /// <summary>
|
| | | /// 是否已经添加网络变化监听
|
| | | /// </summary>
|
| | | private bool hadAddListenNetWork = false;
|
| | |
|
| | | /// <summary>
|
| | | /// 能否访问http
|
| | | /// </summary>
|
| | | private bool m_CanAccessHttp = true;
|
| | | /// <summary>
|
| | | /// 上一次访问http的时间
|
| | | /// </summary>
|
| | | private DateTime oldAccessHttpTime = DateTime.Now;
|
| | | /// <summary>
|
| | | /// 能否访问http
|
| | | /// </summary>
|
| | | public bool CanAccessHttp
|
| | | {
|
| | | set
|
| | | {
|
| | | m_CanAccessHttp = value;
|
| | | oldAccessHttpTime = DateTime.Now;
|
| | | }
|
| | | get
|
| | | {
|
| | | //10秒后允许再次访问
|
| | | if (m_CanAccessHttp == true || (DateTime.Now - oldAccessHttpTime).TotalMilliseconds > 10 * 1000)
|
| | | {
|
| | | oldAccessHttpTime = DateTime.Now;
|
| | | return true;
|
| | | }
|
| | | return false;
|
| | | }
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | |
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 监听网络变化_______________________
|
| | |
|
| | | /// <summary>
|
| | | /// 开启监听网络
|
| | | /// </summary>
|
| | | public void StartListenNetWork()
|
| | | {
|
| | | if (hadAddListenNetWork == true)
|
| | | {
|
| | | return;
|
| | | }
|
| | | hadAddListenNetWork = true;
|
| | |
|
| | | #if Android
|
| | | //开启监听安卓网络变化
|
| | | BaseActivity.NetworkStateChanged += (value) =>
|
| | | {
|
| | | //网络变化
|
| | | this.NetworkStateChanged(value);
|
| | | };
|
| | | #endif
|
| | |
|
| | | #if iOS
|
| | | //开启监听IOS网络变化
|
| | | GateWay.Ios.Reachability.ReachabilityChanged += (sender, e) =>
|
| | | {
|
| | | var internetStatus = GateWay.Ios.Reachability.InternetConnectionStatus();
|
| | | if (internetStatus == GateWay.Ios.NetworkStatus.NotReachable)//没有网络连接 0
|
| | | {
|
| | | //网络变化
|
| | | this.NetworkStateChanged(0);
|
| | | }
|
| | | else if (internetStatus == GateWay.Ios.NetworkStatus.ReachableViaCarrierDataNetwork)//3,4G的网络连接 1
|
| | | {
|
| | | //网络变化
|
| | | this.NetworkStateChanged(1);
|
| | | }
|
| | | else if (internetStatus == GateWay.Ios.NetworkStatus.ReachableViaWiFiNetwork) //wifi的网络连接 2
|
| | | {
|
| | | //网络变化
|
| | | this.NetworkStateChanged(2);
|
| | | }
|
| | | };
|
| | | #endif
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 监听安卓网络变化
|
| | | /// </summary>
|
| | | /// <param name="value"></param>
|
| | | private void NetworkStateChanged(int value)
|
| | | {
|
| | | //没有网络
|
| | | if (value == 0)
|
| | | {
|
| | | this.CanAccessHttp = false;
|
| | | }
|
| | | //可以叫4G
|
| | | else if (value == 1)
|
| | | {
|
| | | this.CanAccessHttp = true;
|
| | | }
|
| | | //WIFI
|
| | | else if (value == 2)
|
| | | {
|
| | | this.CanAccessHttp = true;
|
| | | }
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 一般方法___________________________
|
| | |
|
| | | #if Android
|