System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及藍牙技術,尤其涉及一種藍牙廣播請求的處理方法及設備。
技術介紹
1、藍牙廣播是終端與終端之間自發現、自組網的核心,設備間的靠近發現以及各種上層業務都依賴于藍牙廣播。因此,藍牙廣播的高可靠性與高可用性,關系著能否為用戶帶來極致的近場設備間交互體驗。
2、藍牙對外提供了啟動與停止的應用程序編程接口(app?l?icat?ion?programmingi?nterface,api)。然而,在調用藍牙廣播啟動api到藍牙廣播啟動成功之間,以及調用藍牙廣播停止api到停止成功之間,仍存在著短暫的不可用狀態。
3、相關技術中,在上述不可用狀態下如果接收到藍牙廣播請求,由于當前藍牙廣播不可用,這部分藍牙廣播請求可能會被丟棄,導致部分藍牙報文丟失的問題。
技術實現思路
1、本申請實施例提供一種藍牙廣播請求的處理方法及設備,用于解決藍牙第一藍牙廣播狀態下觸發的藍牙廣播請求可能會被丟棄,導致部分藍牙報文丟失的問題。
2、為達到上述目的,本申請的實施例采用如下技術方案:
3、第一方面,提供了一種藍牙廣播請求的處理方法,該方法應用于電子設備;該電子設備包括藍牙和藍牙監視器,電子設備通過藍牙監視器調用藍牙的接口,該方法包括:
4、響應于第一藍牙廣播請求,藍牙監視器獲取藍牙監視器中保存的當前的藍牙廣播狀態。在確定當前的藍牙廣播狀態為第一藍牙廣播狀態的情況下,表示當前藍牙廣播不可用,因此針對第一藍牙廣播請求藍牙監視器進入第一等待狀態;第一藍牙
5、在該方案中,針對在藍牙廣播不可用的狀態下接收的第一藍牙廣播請求,不會直接丟棄,而是等待一段時間。等到接收到藍牙反饋的調用成功信息,將藍牙廣播狀態更新為可用狀態(第二藍牙廣播狀態),即可執行上述第一藍牙廣播請求對應的藍牙廣播操作。這樣,可以避免藍牙廣播請求因當前藍牙廣播不可用而被丟棄,減少藍牙廣播報文丟失的情況。
6、在一些可能的實施方式中,在藍牙監視器進入第一等待狀態之后,上述方法還包括:在第一等待狀態下,藍牙監視器獲取藍牙在第一藍牙廣播狀態的第一停留時間;若第一停留時間未超出第一預設時間,則藍牙監視器維持第一等待狀態。這樣,可以保證在第一等待狀態下可以等待當前藍牙廣播狀態更新為可用狀態。
7、在一些可能的實施方式中,在藍牙監視器進入第一等待狀態之后,上述方法還包括:在第一等待狀態下,若第一停留時間超出第一預設時間,則藍牙監視器調用藍牙的接口。其中,藍牙廣播狀態在啟動中狀態的第一停留時間超出第一預設時間,可能藍牙監視器未接收到調用反饋信息,或者藍牙發生故障,此時藍牙監視器可以直接調用藍牙廣播停止接口,以將藍牙廣播狀態更新為準確的藍牙廣播狀態。同理,藍牙廣播狀態在停止中狀態的第一停留是按超出第一預設時間時,藍牙監視器可以直接調用藍牙廣播啟動接口,以將藍牙廣播狀態更新為準確的藍牙廣播狀態。這樣,可以避免第一藍牙廣播請求長時間無法通過藍牙進行廣播的問題。
8、在一些可能的實施方式中,上述方法還包括:藍牙監視器如果監聽到用于指示藍牙廣播啟動接口調用成功的第一調用成功信息,則可以將當前的藍牙廣播狀態更新為廣播中狀態。如果藍牙監視器接收到用于指示藍牙廣播停止接口調用成功的第二調用成功信息,那么藍牙監視器將當前的藍牙廣播狀態更新為閑置狀態。這樣,在第一等待狀態下,藍牙廣播狀態仍會持續更新,因此,針對第一藍牙廣播請求可以等到當前的藍牙廣播狀態更新為可用狀態之后,再執行對應的藍牙廣播操作。
9、在一些可能的實施方式中,在響應于第一藍牙廣播請求,藍牙監視器獲取當前的藍牙廣播狀態之后,上述方法還包括:在確定當前的藍牙廣播狀態為閑置狀態的情況下,表示當前藍牙廣播可以直接使用。此時,藍牙監視器響應于第一藍牙廣播請求,調用藍牙的藍牙廣播啟動接口;并且,藍牙監視器將當前的藍牙廣播狀態由閑置狀態更新為啟動中狀態。藍牙監視器在接收到藍牙反饋的第一調用成功信息之后,藍牙監視器將當前的藍牙廣播狀態由啟動中狀態更新為廣播中狀態;第一調用成功信息用于指示藍牙廣播啟動接口調用成功。藍牙監視器基于第一藍牙廣播請求,更新藍牙的廣播報文;更新后的廣播報文用于藍牙進行廣播。如果在閑置狀態下接收到第一藍牙廣播請求,則藍牙監視器可以響應于第一藍牙廣播請求調用藍牙廣播啟動接口,以對第一藍牙廣播請求對應的廣播內容進行廣播。
10、在一些可能的實施方式中,在藍牙監視器響應于第一藍牙廣播請求,調用藍牙的藍牙廣播啟動接口之后,上述方法還包括:藍牙監視器基于第一藍牙廣播請求對應的待廣播時長設置第一計時器,第一計時器開始計時。這樣,之后藍牙監視器根據第一計時器的計時時間可以確定當前藍牙廣播的剩余廣播時長。在該實施方式中,在藍牙監視器基于第一藍牙廣播請求,更新藍牙的廣播報文之后,上述方法還包括:在根據第一計時器的計時時間確定當前藍牙的剩余廣播時長為0時,表示當前的藍牙廣播已經完成,此時藍牙監視器調用藍牙的藍牙廣播停止接口,并將當前的藍牙廣播狀態更新為停止中狀態。并且在接收到藍牙反饋的第二調用成功信息之后,藍牙監視器將當前的藍牙廣播狀態由停止中狀態更新為閑置狀態;第二調用成功信息用于指示藍牙廣播停止接口調用成功。這樣,在廣播中狀態下可以結合第一計時器的計時時間確定藍牙廣播是否完成,并且在藍牙廣播完成時,由藍牙監視器調用藍牙廣播停止接口。從而可以避免藍牙廣播完成之后藍牙廣播仍處于廣播中狀態導致不必要的耗電的問題。
11、在一些可能的實施方式中,在藍牙監視器響應于第一藍牙廣播請求,調用藍牙的藍牙廣播啟動接口之前,上述方法還包括:在確定當前的藍牙廣播狀態為閑置狀態的情況下,藍牙監視器獲取藍牙在閑置狀態的第二停留時間。在該實施方式中,藍牙監視器響應于第一藍牙廣播請求,調用藍牙的藍牙廣播啟動接口,具體可以包括:藍牙監視器在確定第二停留時間超出第二預設時間的情況下,響應于第一藍牙廣播請求,調用藍牙的藍牙廣播啟動接口。在該方案中,對于部分藍牙廣播狀態剛剛由停止中狀態變更為閑置狀態的一小段時間內,藍牙廣播仍不可用的情況,藍牙監視器也可以等待一段時間。等到藍牙廣播狀態更新為閑置狀態一段時間之后,再響應于第一藍牙廣播請求調用藍牙廣播啟動接口。這樣,可以避免藍牙廣播狀態剛剛更新為閑置狀態的一段時間內調用藍牙廣播啟動接口失敗的問題。
12、在一些可能的實施方式中,藍牙監視器響應于第一藍牙廣播請求,調用藍牙的藍牙廣播啟動接口,具體可以包括:藍牙監視器向藍牙發送藍牙廣播啟動接口的調用請求。該調用請求包括第三預設時間,第三預本文檔來自技高網...
【技術保護點】
1.一種藍牙廣播請求的處理方法,其特征在于,所述方法應用于電子設備,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述藍牙啟動成功包括:所述藍牙監視器接收到第一調用成功信息,所述第一調用成功信息用于指示藍牙廣播啟動接口調用成功;
3.根據權利要求1或2所述的方法,其特征在于,所述方法還包括:
4.根據權利要求1-3中任一項所述的方法,其特征在于,所述當前的藍牙狀態存儲在所述藍牙監視器中。
5.根據權利要求1-4中任一項所述的方法,其特征在于,在所述藍牙監視器進入第一等待狀態之后,所述方法還包括:
6.根據權利要求1-5中任一項所述的方法,其特征在于,在所述藍牙監視器進入第一等待狀態之后,所述方法還包括:
7.根據權利要求1-6中任一項所述的方法,其特征在于,在所述響應于第一藍牙廣播請求,所述電子設備的藍牙監視器獲取當前的藍牙狀態之后,所述方法還包括:
8.根據權利要求7所述的方法,其特征在于,在所述藍牙監視器響應所述第一藍牙廣播請求,調用藍牙廣播啟動接口之后,所述方法還包括:
< ...【技術特征摘要】
1.一種藍牙廣播請求的處理方法,其特征在于,所述方法應用于電子設備,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述藍牙啟動成功包括:所述藍牙監視器接收到第一調用成功信息,所述第一調用成功信息用于指示藍牙廣播啟動接口調用成功;
3.根據權利要求1或2所述的方法,其特征在于,所述方法還包括:
4.根據權利要求1-3中任一項所述的方法,其特征在于,所述當前的藍牙狀態存儲在所述藍牙監視器中。
5.根據權利要求1-4中任一項所述的方法,其特征在于,在所述藍牙監視器進入第一等待狀態之后,所述方法還包括:
6.根據權利要求1-5中任一項所述的方法,其特征在于,在所述藍牙監視器進入第一等待狀態之后,所述方法還包括:
7.根據權利要求1-6中任一項所述的方法,其特征在于,在所述響應于第一藍牙廣播請求,所述電子設備的藍牙監視器獲取當前的藍牙狀態之后,所述方法還包括:
8.根據權利要求7所述的方法,其特征在于,在所述藍牙監視器響應所述第一藍牙廣播請求,調用藍牙廣播啟動接口之后,所述方法還包括:
9.根據權利要求7所述的方法,其特征在于,在所述藍牙監視器響應所述第一藍牙廣播請求,調用藍牙廣播啟動接口之前,所述方法還包括:
10.根據權利要求7-9中任一項所述的方法,其特征在于,所述藍牙監視器響應所述第一藍牙廣播請求,調用藍牙廣播啟動接口,包括:
11.根據權利要求1-10中任一項所述的方法,其特征在于,在所述響應于第一藍牙廣播請求,所述電子設備的藍牙監視器獲取當前的藍牙狀態之后,所述方法還包括:
1...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。