| | |
| | | public void SkipAddDeviceActivity(string spk) |
| | | { |
| | | |
| | | this.InitializationAndroidData((isBools) => |
| | | this.InitializationAndroidData((isEzChildAccessToken) => |
| | | { |
| | | |
| | | this.MainThread(() => |
| | | { |
| | | if (!isBools) |
| | | { |
| | | this.ShowTip("先获取萤石云子账号token失败。"); |
| | | } |
| | | #if __IOS__ |
| | | //跳转添加萤石设备 |
| | | ezsdkDelegate = new IosIHdlInterface(); |
| | | ezsdkDelegate.mAction += (serials) => { |
| | | var list = VideDoorLockSend.Current.GetVideoDoorLockDeviceList(SPK.VideoDoorLock); |
| | | if (list.Count > 0) |
| | | ezsdkDelegate.mAction += (serials) => |
| | | { |
| | | var function = list.Find((o) => o.sid == serials); |
| | | if (function != null) |
| | | { |
| | | this.SaveFunctionFile(function); |
| | | } |
| | | } |
| | | this.GetYingshiDeviceList(serials); |
| | | }; |
| | | EZSDK.IOS.EZSDK.SharedInstance().Delegate= ezsdkDelegate; |
| | | EZSDK.IOS.EZSDK.SharedInstance().AddEzvizMonitorWithDeviceType(spk); |
| | | |
| | | #else |
| | | HDLEzvizSdk.Instance.JumpToEZScanActivity(Application.Activity,spk); |
| | | HDLEzvizSdk.SetAddCallback(new AndroidIHdlInterface((isBool, adnroidActionDevSerial) => |
| | | HDLEzvizSdk.SetAddCallback(new AndroidIHdlInterface((isBool, serials) => |
| | | { |
| | | if (isBool) |
| | | { |
| | | |
| | | var list = VideDoorLockSend.Current.GetVideoDoorLockDeviceList(SPK.VideoDoorLock); |
| | | if (list.Count > 0) |
| | | { |
| | | var function = list.Find((o) => o.sid == adnroidActionDevSerial); |
| | | if (function != null) |
| | | { |
| | | this.SaveFunctionFile(function); |
| | | } |
| | | } |
| | | |
| | | |
| | | this.GetYingshiDeviceList(serials); |
| | | } |
| | | |
| | | })); |
| | |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 读取云端的上萤石设备列表 |
| | | /// <paramref name="serials"/>序列号</param> |
| | | private void GetYingshiDeviceList(string serials) |
| | | { |
| | | this.SunThread(() => |
| | | { |
| | | var list = VideDoorLockSend.Current.GetVideoDoorLockDeviceList(SPK.VideoDoorLock); |
| | | this.MainThread(() => |
| | | { |
| | | if (list.Count > 0) |
| | | { |
| | | var function = list.Find((o) => o.sid == serials); |
| | | if (function != null) |
| | | { |
| | | this.SaveFunctionFile(function); |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 打开实时视频画面 |
| | | /// </summary> |
| | | /// <param name="deviceSerial">设备序列号</param> |
| | |
| | | public void SkipRTVActivity(string deviceSerial, string deviceId, string spk, bool isDialog) |
| | | { |
| | | |
| | | this.InitializationAndroidData((isBools) => |
| | | { |
| | | if (!isBools) |
| | | this.InitializationAndroidData((isEzChildAccessToken) => |
| | | { |
| | | this.MainThread(() => |
| | | { |
| | | this.ShowTip("先获取萤石云子账号token失败。"); |
| | | |
| | | }); |
| | | } |
| | | |
| | | if (isDialog) |
| | | { |
| | | Video.View.ShowDialog.Currnet.ClickBox(Language.StringByID(StringId.laizimenlinghujiao), (dialog) => |
| | | { |
| | | dialog.Close(); |
| | | #if __IOS__ |
| | | //打开萤石视频界面 |
| | | EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(deviceSerial, deviceId, spk); |
| | | #else |
| | | HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk); |
| | | #endif |
| | | }, (dialog) => |
| | | { |
| | | dialog.Close(); |
| | | }); |
| | | this.SkipRTVActivity(deviceSerial, deviceId, spk); |
| | | }, (dialog) => { dialog.Close(); }); |
| | | } |
| | | else |
| | | { |
| | | this.SkipRTVActivity(deviceSerial, deviceId, spk); |
| | | } |
| | | |
| | | }); |
| | | }); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 打开实时视频画面 |
| | | /// </summary> |
| | | /// <param name="deviceSerial">设备序列号</param> |
| | | /// <param name="deviceId">设备id(云端上deviceId)</param> |
| | | /// <param name="spk">设备spk(云雀上定义好的)</param> |
| | | private void SkipRTVActivity(string deviceSerial, string deviceId, string spk) |
| | | { |
| | | |
| | | #if __IOS__ |
| | | //打开萤石视频界面 |
| | | EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(deviceSerial, deviceId, spk); |
| | |
| | | #else |
| | | HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk); |
| | | #endif |
| | | } |
| | | |
| | | |
| | | }); |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 浏览历史记录 |
| | | /// </summary> |
| | |
| | | { |
| | | this.InitializationAndroidData((s) => |
| | | { |
| | | |
| | | this.MainThread(() => |
| | | { |
| | | #if __IOS__ |
| | | //打开萤石历史记录界面 |
| | | EZSDK.IOS.EZSDK.SharedInstance().ToDeviceMsgListView(deviceId); |
| | | #else |
| | | HDLEzvizSdk.Instance.JumpLockHistoryActivity(Application.Activity, deviceId); |
| | | #endif |
| | | |
| | | }); |
| | | }); |
| | | |
| | | } |
| | |
| | | { |
| | | this.InitializationAndroidData((isBools) => |
| | | { |
| | | if (!isBools) |
| | | { |
| | | this.MainThread(() => |
| | | { |
| | | this.ShowTip("先获取萤石云子账号token失败。"); |
| | | |
| | | }); |
| | | } |
| | | #if __IOS__ |
| | | //打开萤石临时密码界面 |
| | | EZSDK.IOS.EZSDK.SharedInstance().ToTemPassView(deviceId); |
| | | #else |
| | | HDLEzvizSdk.Instance.JumpTempPasswordActivity(Application.Activity, deviceId); |
| | | #endif |
| | | |
| | | }); |
| | | }); |
| | | } |
| | | |
| | |
| | | /// </summary> |
| | | public void InitializationAndroidData(Action<bool> action) |
| | | { |
| | | |
| | | |
| | | bool isBool = true; |
| | | this.SunThread(() => |
| | | { |
| | |
| | | { |
| | | //Token |
| | | isBool = false; |
| | | this.ShowTip("先获取萤石云子账号token失败。"); |
| | | return; |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | |
| | | #if __IOS__ |
| | | //iOS |
| | | //初始化萤石云SDK,中文国内key、英文海外key 开发者账号使用应用包名申请的APPKEY,不同包名应用需配置不同的APPKEY |
| | |
| | | HDLEzvizSdk.Instance.Init(Application.Activity.Application, ezChildAccessToken, UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken, OnAppConfig.Instance.RequestHttpsHost, "1aa98a90489b4838b966b57018b4b04b", 1, DB_ResidenceData.Instance.CurrentRegion.id); |
| | | |
| | | #endif |
| | | }); |
| | | |
| | | |
| | | }); |
| | | |
| | |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// 获取门锁型号列表 |
| | | /// 获取【门锁型号】列表 |
| | | /// </summary> |
| | | /// <returns>返回结果不会为null</returns> |
| | | public List<string> GetVideoDoorLockLockModelsList() |
| | |
| | | return VideDoorLockSend.Current.GetVideoDoorLockLockModelsList(); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 获取萤石视频【门锁】列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public List<Function> GetVideoDoorLockList() |
| | | { |
| | | var list = FunctionList.List.GetVideoDoorLockList(); |
| | | #if DEBUG |
| | | //list.Add(new Function { name = "视频门锁一", sid = "23456789", spk = SPK.VideoDoorLock }); |
| | | //list.Add(new Function { name = "视频门锁二", sid = "2345678922", spk = SPK.VideoDoorLock }); |
| | | #endif |
| | | return list; |
| | | } |
| | | #region --------- 功能文件保存,删除 -------- |
| | | /// <summary> |
| | | /// 保存本地文件 |
| | |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取萤石视频门锁列表 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public List<Function> GetVideoDoorLockList() |
| | | { |
| | | var list = FunctionList.List.GetVideoDoorLockList(); |
| | | #if DEBUG |
| | | //list.Add(new Function { name = "视频门锁一", sid = "23456789", spk = SPK.VideoDoorLock }); |
| | | //list.Add(new Function { name = "视频门锁二", sid = "2345678922", spk = SPK.VideoDoorLock }); |
| | | #endif |
| | | return list; |
| | | } |
| | | |
| | | #region ---------自定义线程(子线程,主线程)-------- |
| | | /// <summary> |
| | | /// 子线程 |