一、蘋果系統(tǒng)底層藍牙掃描設(shè)備名稱原理
1、第一次連接設(shè)備,系統(tǒng)無GAP層設(shè)備名稱緩存,此時掃描到的設(shè)備名稱為設(shè)備廣播名稱,連接成功后,系統(tǒng)自動發(fā)送2A00指令,讀取設(shè)備GAP層名稱,并緩存至系統(tǒng)
2、非第一次連接設(shè)備,有兩種情況:
1)系統(tǒng)有GAP層設(shè)備名稱緩存,此時掃描的設(shè)備的名稱為系統(tǒng)緩存的名稱,系統(tǒng)認(rèn)為廣播名稱相對于GAP層名稱更容易更改,優(yōu)先考慮緩存的
2)系統(tǒng)有GAP層名稱已過期或者被覆蓋掉,此時掃描的為廣播名稱,連接成功后,讀取GAP層名稱,緩存至系統(tǒng)
二、更改系統(tǒng)緩存的GAP名稱有兩種方式:
1、GAP層名稱改變,系統(tǒng)會在連接的前提下,重新發(fā)送2A00服務(wù)獲取設(shè)備GAP層名稱,重新寫入系統(tǒng)緩存
2、重置蘋果設(shè)備,可清空系統(tǒng)緩存GAP名稱數(shù)據(jù)。