| | |
| | | /// wifi密码 |
| | | /// </summary> |
| | | private string wifiPassword = string.Empty; |
| | | /// <summary> |
| | | /// 蓝牙设备 |
| | | /// </summary> |
| | | private List<HdlBluetoothLogic.BluetoothInfo> listDevice = new List<HdlBluetoothLogic.BluetoothInfo>(); |
| | | |
| | | #endregion |
| | | |
| | |
| | | this.AddListMsgControls(bodyFrameLayout, strMsg, CSS.CSS_FontSize.TextFontSize, |
| | | CSS.CSS_Color.FirstLevelTitleColor, Application.GetRealHeight(20), btnSearch.Bottom + Application.GetRealHeight(4)); |
| | | |
| | | //搜索时间(秒) |
| | | int searchTime = 5; |
| | | |
| | | //搜索蓝牙(特效问题,加1秒) |
| | | this.StartSearchBluetooth(searchTime + 1); |
| | | |
| | | HdlThreadLogic.Current.RunThread(() => |
| | | { |
| | | //进度条特效 |
| | | for (int i = 0; i <= searchTime; i++) |
| | | { |
| | | HdlThreadLogic.Current.RunMain(() => |
| | | { |
| | | btnProgress.SetValue(i + 1, searchTime); |
| | | }); |
| | | System.Threading.Thread.Sleep(1000); |
| | | } |
| | | }); |
| | | //开启进度条特效 |
| | | this.StartProgressSpecialEffects(btnProgress); |
| | | } |
| | | |
| | | #endregion |
| | |
| | | #region ■ 搜索蓝牙___________________________ |
| | | |
| | | /// <summary> |
| | | /// 安卓搜索蓝牙 |
| | | /// 搜索蓝牙 |
| | | /// </summary> |
| | | /// <param name="i_searchTime">搜索时间(秒)</param> |
| | | private void StartSearchBluetooth(int i_searchTime) |
| | | private void StartSearchBluetooth() |
| | | { |
| | | //开始搜索蓝牙 |
| | | HdlBluetoothLogic.Current.ScanBluetooth(i_searchTime, (listBluetooth) => |
| | | HdlBluetoothLogic.Current.ScanBluetooth(2, (listBluetooth) => |
| | | { |
| | | var listDevice = new List<HdlBluetoothLogic.BluetoothInfo>(); |
| | | foreach (var device in listBluetooth) |
| | | { |
| | | //只有这个标识,才是红外宝 |
| | |
| | | { |
| | | //摧毁蓝牙缓存 |
| | | HdlBluetoothLogic.Current.Dispone(); |
| | | //显示失败界面 |
| | | HdlThreadLogic.Current.RunMain(() => |
| | | { |
| | | this.ShowFailView(); |
| | | }); |
| | | } |
| | | else if (listDevice.Count == 1) |
| | | { |
| | | //如果只检测到一个,则直接连接 |
| | | HdlBluetoothLogic.Current.ContectBluetooth(listDevice[0], (result) => |
| | | { |
| | | if (result == true) |
| | | if (result == true && this.Parent != null) |
| | | { |
| | | //连接成功,则跳转到下一个界面 |
| | | HdlThreadLogic.Current.RunMain(() => |
| | |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 开启进度条特效 |
| | | /// </summary> |
| | | private void StartProgressSpecialEffects(ProgressRowBar btnProgress) |
| | | { |
| | | //搜索时间(秒) |
| | | int searchTime = 180; |
| | | HdlThreadLogic.Current.RunThread(() => |
| | | { |
| | | //进度条特效 |
| | | for (int i = 1; i <= searchTime; i++) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | HdlThreadLogic.Current.RunMain(() => |
| | | { |
| | | //进度条特效 |
| | | btnProgress.SetValue(i, searchTime); |
| | | }); |
| | | |
| | | //界面关闭 |
| | | if (this.Parent == null) |
| | | { |
| | | break; |
| | | } |
| | | //如果已经搜索到蓝牙,则直接到100% |
| | | if (listDevice.Count > 0) |
| | | { |
| | | HdlThreadLogic.Current.RunMain(() => |
| | | { |
| | | btnProgress.SetValue(searchTime, searchTime); |
| | | }); |
| | | break; |
| | | } |
| | | if (i % 5 == 1) |
| | | { |
| | | //每5秒搜索一次 |
| | | this.StartSearchBluetooth(); |
| | | } |
| | | //超时 |
| | | if (i >= searchTime) |
| | | { |
| | | System.Threading.Thread.Sleep(3000); |
| | | //最后的时间还是搜不到的话 |
| | | if (listDevice.Count == 0) |
| | | { |
| | | //显示失败界面 |
| | | HdlThreadLogic.Current.RunMain(() => |
| | | { |
| | | this.ShowFailView(); |
| | | }); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 显示选择蓝牙列表的界面_____________ |
| | |
| | | /// <param name="selectEvent">选择事件(考虑到Ios和安卓,所以这样定参数)</param> |
| | | private void ShowBluetoothListView(List<string> listName, Action<int> selectEvent) |
| | | { |
| | | if (this.Parent == null) { return; } |
| | | |
| | | HdlThreadLogic.Current.RunMain(() => |
| | | { |
| | | var contr = new BottomItemSelectControl(listName.Count, Language.StringByID(StringId.ChooseInfraredRemoteControl), false); |