HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2019-11-18 16604a593202f2f87adf71abd57d036fe7da3b52
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
using System;
using System.Collections.Generic;
using System.Text;
 
namespace Shared.Phone.UserCenter
{
    /// <summary>
    /// WiFi的逻辑
    /// </summary>
    public class HdlWifiLogic
    {
        #region ■ 变量声明___________________________
 
        /// <summary>
        /// WiFi的逻辑
        /// </summary>
        private static HdlWifiLogic m_Current = null;
        /// <summary>
        /// WiFi的逻辑
        /// </summary>
        public static HdlWifiLogic Current
        {
            get
            {
                if (m_Current == null)
                {
                    m_Current = new HdlWifiLogic();
                }
                return m_Current;
            }
        }
 
        /// <summary>
        /// 当前wifi的SSID,也叫Wifi的名字
        /// </summary>
        public string SSID
        {
            get
            {
#if iOS
                return string.Empty;
#endif
#if Android
                string ssiD = null;
                HdlThreadLogic.Current.RunThread(() =>
                {
                    Shared.Net.NetWiFi.GetWIFISSID((strId) =>
                    {
                        ssiD = strId;
                    });
                });
                while (ssiD == null)
                {
                    System.Threading.Thread.Sleep(50);
                }
                if (string.IsNullOrEmpty(ssiD) == false && ssiD.StartsWith("\"") && ssiD.EndsWith("\""))
                {
                    ssiD = ssiD.Substring(1, ssiD.Length - 2);
                }
                return ssiD;
#endif
            }
        }
#if Android
        /// <summary>
        /// 定义全局变量
        /// </summary>
        private Com.Mediatek.Elian.ElianNative hdlWiFi = null;
#endif
 
#endregion
 
#region ■ 一般方法___________________________
 
#if Android
        /// <summary>
        /// 开始Wi-Fi配网
        /// </summary>
        /// <param name="wifiName">wifi名字</param>
        /// <param name="wifiPsw">wifi密码</param>
        /// <param name="p2">我也不知道这个是什么东西</param>
        /// <returns></returns>
        public bool StartSmartConnection(string wifiName, string wifiPsw, string p2 = "1")
        {
            if (hdlWiFi == null)
            {
                Com.Mediatek.Elian.ElianNative.LoadLib();
                //初始化Wi-Fi配网
                this.hdlWiFi = new Com.Mediatek.Elian.ElianNative();
                hdlWiFi.InitSmartConnection(null, 1, 1);
            }
            //开始Wi-Fi配网
            var result = hdlWiFi.StartSmartConnection(wifiName, wifiPsw, p2);
            return true;
        }
 
        /// <summary>
        /// 停止Wi-Fi配网
        /// </summary>
        public void StopSmartConnection()
        {
            if (hdlWiFi != null)
            {
                //停止Wi-Fi配网
                hdlWiFi.StopSmartConnection();
            }
        }
#endif
#if iOS
        /// <summary>
        /// 开始Wi-Fi配网
        /// </summary>
        /// <param name="wifiName">wifi名字</param>
        /// <param name="wifiPsw">wifi密码</param>
        /// <param name="p2">我也不知道这个是什么东西</param>
        /// <returns></returns>
        public bool StartSmartConnection(string wifiName, string wifiPsw, string p2 = "1")
        {
            //初始化Wi-Fi连接
            Com.Mediatek.Elian.ElianNative.InitSmartConnection(null, 1, 1);
            //开始Wi-Fi连接
            var result = Com.Mediatek.Elian.ElianNative.StartSmartConnection(wifiName, wifiPsw, p2);
            return true;
        }
 
        /// <summary>
        /// 停止Wi-Fi配网
        /// </summary>
        public void StopSmartConnection()
        {
            //停止Wi-Fi配网
            Com.Mediatek.Elian.ElianNative.StopSmartConnection();
        }
#endif
 
#endregion
    }
}