手機程序源碼如下:
事件 主窗口.創(chuàng)建完畢()
如果 權限操作1.取系統(tǒng)版本號()>=23 則
權限操作1.申請全部權限() '必須先申請權限
結束 如果
變量 結果 為 邏輯型
結果 = BLE藍牙1.初始化()
標簽1.標題=("初始化結果:" & 結果)
BLE藍牙1.置可被發(fā)現()
結束 事件
事件 按鈕1.被單擊()
如果 按鈕1.標題 = "開始搜索" 則
位置傳感器1.開始監(jiān)測() '在某些安卓系統(tǒng)中,必須先進行GPS定位才能搜索到藍牙設備
BLE藍牙1.開始搜索()
時鐘1.時鐘周期 = 10 * 1000
按鈕1.標題 = "停止搜索"
否則
BLE藍牙1.停止搜索()
時鐘1.時鐘周期 = 0
按鈕1.標題 = "開始搜索"
結束 如果
結束 事件
事件 時鐘1.周期事件()
BLE藍牙1.停止搜索()
按鈕1.標題 = "開始搜索"
時鐘1.時鐘周期 = 0
結束 事件
事件 BLE藍牙1.發(fā)現設備(名稱 為 文本型,地址 為 文本型,MajorID 為 整數型,MinorID 為 整數型,配對狀態(tài) 為 整數型)
標簽1.標題=("發(fā)現設備")
列表框1.添加項目("名稱:" & 名稱 & "\n地址:" & 地址)
列表框1.置項目標記(列表框1.取項目數()-1,地址)
結束 事件
事件 BLE藍牙1.信號強度改變(名稱 為 文本型,地址 為 文本型,信號強度 為 整數型)
變量 計次 為 整數型
變量 文本數組 為 文本型()
變量循環(huán)首 計次 = 0 至 列表框1.取項目數()-1
文本數組 = 分割文本(列表框1.取項目內容(計次),"\n")
如果 文本數組(1) = "地址:" & 地址 則
列表框1.置項目內容(計次,"名稱:" & 名稱 & "\n地址:" & 地址 & "\n信號:" & 信號強度)
退出
結束 如果
變量循環(huán)尾
結束 事件
事件 列表框1.表項被單擊(項目索引 為 整數型)
BLE藍牙1.連接設備(列表框1.取項目標記(項目索引))
標簽1.標題=("正在連接")
主窗口.標題 = "正在連接"
分組列表框1.清空所有數據()
結束 事件
事件 BLE藍牙1.連接狀態(tài)改變(狀態(tài) 為 整數型)
如果 狀態(tài) = 1 則
標簽1.標題=("已連接")
主窗口.標題 = "已連接"
否則
標簽1.標題=("已斷開")
主窗口.標題 = "已斷開"
結束 如果
結束 事件
事件 BLE藍牙1.通道數據改變(服務UUID 為 文本型,通道UUID 為 文本型,數據 為 字節(jié)型())
標簽1.標題=("接收到數據" & "\n數據:" & 字節(jié)集到十六進制(數據))
結束 事件
事件 主窗口.按下某鍵(鍵代碼 為 整數型,傳址 屏蔽 為 邏輯型)
如果 鍵代碼 = 返回鍵 則
BLE藍牙1.釋放資源()
結束程序()
結束 如果
結束 事件
事件 按鈕2.被單擊()
BLE藍牙1.寫入數據("0000ffe0-0000-1000-8000-00805f9b34fb","0000ffe1-0000-1000-8000-00805f9b34fb",十六進制到字節(jié)集("41"))
結束 事件
事件 按鈕3.被單擊()
BLE藍牙1.寫入數據("0000ffe0-0000-1000-8000-00805f9b34fb","0000ffe1-0000-1000-8000-00805f9b34fb",十六進制到字節(jié)集("42"))
結束 事件
事件 按鈕5.被單擊()
BLE藍牙1.寫入數據("0000ffe0-0000-1000-8000-00805f9b34fb","0000ffe1-0000-1000-8000-00805f9b34fb",十六進制到字節(jié)集("43"))
結束 事件
事件 按鈕4.被單擊()
BLE藍牙1.寫入數據("0000ffe0-0000-1000-8000-00805f9b34fb","0000ffe1-0000-1000-8000-00805f9b34fb",十六進制到字節(jié)集("44"))
結束 事件 |