摘要:目標通過微信小程序?qū)崿F(xiàn)來實現(xiàn)跑步類的功能。核心功能一連接藍牙設(shè)備初始化藍牙適配器。遇到的問題微信小程序的功能缺陷設(shè)備在息屏和后臺運行的情況下均無法正常調(diào)用,只有切換到前臺運行時,才能正常使用使用的是蘋果。
背景
微信小程序興起,有變成超級APP的趨勢,通過微信提供的小程序api,可以通過微信調(diào)用到手機原生的支持。
目標通過微信小程序?qū)崿F(xiàn)來實現(xiàn)跑步類App的功能。
需求分析跑步類App需要的兩個核心的數(shù)據(jù)是:心率,GPS。(當然有些App沒有鏈接心率設(shè)備,那就不要獲取實時心率了)。
工具到微信公眾平臺申請小程序賬號,下載微信開發(fā)者工具(預(yù)覽功能可以讓手機掃一掃預(yù)覽小程序)。
核心功能一:連接藍牙設(shè)備1.初始化藍牙適配器 openBluetoothAdapter。
2.獲取藍牙適配器狀態(tài)getBluetoothAdapterState,如果藍牙可用則,則尋找附近設(shè)備;如果不可用,則提示藍牙未開啟并監(jiān)聽藍牙狀態(tài)onBluetoothAdapterStateChange。
3.開始尋找附近設(shè)備startBluetoothDevicesDiscovery,找到附近的藍牙列表getBluetoothDevices,并同時監(jiān)聽onBluetoothDeviceFound,發(fā)現(xiàn)新設(shè)備則添加到藍牙列表中。
4.在藍牙列表選擇藍牙設(shè)備,獲取對應(yīng)的deviceId。
5.創(chuàng)建藍牙連接createBLEConnection,以deviceId為參數(shù),創(chuàng)建成功后調(diào)用stopBluetoothDevicesDiscovery方法,停止尋找藍牙設(shè)備(尋找設(shè)備需要花費大量資源)。
6.獲取藍牙設(shè)備服務(wù)getBLEDeviceServices,拿到serviceId。
7.獲取該設(shè)備所有特征值getBLEDeviceCharacteristics,拿到characterId,至此連接設(shè)備的三個參數(shù)都拿到了(deviceId,serviceId,characterId)。
8.開啟notify通信notifyBLECharacteristicValueChange。
9.監(jiān)聽onBLECharacteristicValueChange傳輸?shù)南ⅲ竭@一步藍牙設(shè)備實時發(fā)送的消息就接收到了。
核心功能二:獲取手機GPS調(diào)用wx的api,getLocation即可調(diào)用當前的GPS信息、速度、海拔等,計算gps兩點之間的距離就可以獲取整段距離,調(diào)用小程序的map組件可以將整段的GPS繪制成跑步路線。
遇到的問題微信小程序api的getLocation功能缺陷:
Ios設(shè)備在息屏和后臺運行的情況下getLocation均無法正常調(diào)用,只有切換到前臺運行時,才能正常使用(使用的是蘋果7)。
Android設(shè)備部分設(shè)備在息屏和后臺運行情況下getLocation無法正常調(diào)用(本人實測,華為mate10 后臺+息屏情況下無法調(diào)用,但是honor7X在各種情況下均能正常調(diào)用)。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/113045.html
摘要:目標通過微信小程序?qū)崿F(xiàn)來實現(xiàn)跑步類的功能。核心功能一連接藍牙設(shè)備初始化藍牙適配器。遇到的問題微信小程序的功能缺陷設(shè)備在息屏和后臺運行的情況下均無法正常調(diào)用,只有切換到前臺運行時,才能正常使用使用的是蘋果。 背景 微信小程序興起,有變成超級APP的趨勢,通過微信提供的小程序api,可以通過微信調(diào)用到手機原生的支持。 目標 通過微信小程序?qū)崿F(xiàn)來實現(xiàn)跑步類App的功能。 需求分析 跑步類Ap...
摘要:目標通過微信小程序?qū)崿F(xiàn)來實現(xiàn)跑步類的功能。核心功能一連接藍牙設(shè)備初始化藍牙適配器。遇到的問題微信小程序的功能缺陷設(shè)備在息屏和后臺運行的情況下均無法正常調(diào)用,只有切換到前臺運行時,才能正常使用使用的是蘋果。 背景 微信小程序興起,有變成超級APP的趨勢,通過微信提供的小程序api,可以通過微信調(diào)用到手機原生的支持。 目標 通過微信小程序?qū)崿F(xiàn)來實現(xiàn)跑步類App的功能。 需求分析 跑步類Ap...
摘要:微信小程序中的每一個頁面的路徑頁面名都需要寫在的中,且中的第一個頁面是小程序的首頁。真機運行截圖運行于,微信版本功能能夠計算里程時間實時獲取跑步路徑有些粗糙思路主要使用了微信小程序的獲取位置和地圖組件。 首發(fā)地址 一、準備工作 1、注冊一個小程序賬號,得用一個沒注冊過公眾號的郵箱注冊。2、注冊過程中需要很多認證,有很多認證,比較繁瑣,如果暫時只是開發(fā)測試,不進行提審、發(fā)布的話,只要完成...
摘要:微信小程序中的每一個頁面的路徑頁面名都需要寫在的中,且中的第一個頁面是小程序的首頁。真機運行截圖運行于,微信版本功能能夠計算里程時間實時獲取跑步路徑有些粗糙思路主要使用了微信小程序的獲取位置和地圖組件。 首發(fā)地址 一、準備工作 1、注冊一個小程序賬號,得用一個沒注冊過公眾號的郵箱注冊。2、注冊過程中需要很多認證,有很多認證,比較繁瑣,如果暫時只是開發(fā)測試,不進行提審、發(fā)布的話,只要完成...
閱讀 2536·2023-04-25 19:47
閱讀 3383·2019-08-29 17:18
閱讀 855·2019-08-29 15:26
閱讀 3360·2019-08-29 14:17
閱讀 1114·2019-08-26 13:49
閱讀 3338·2019-08-26 13:22
閱讀 3022·2019-08-26 10:44
閱讀 2692·2019-08-23 16:51