Android O里的藍牙那點(diǎn)事
Google已于5月17日的開(kāi)發(fā)者大會(huì )上正式宣布,Beta版Android O即日起對普通用戶(hù)開(kāi)放。和以往一樣,Google已經(jīng)3月份提早向開(kāi)發(fā)者提供了下一代Android的預覽版,Android O[1] Developer Preview。
本文引用地址:http://dyxdggzs.com/article/201705/359567.htm從Android開(kāi)發(fā)者的Reference Guide[2] 以及其開(kāi)發(fā)者博客上發(fā)布的博文來(lái)看,Android O在藍牙5的支持上著(zhù)墨頗多,“藍”小編覺(jué)得今天有必要為大家腦補一下Android O當中的藍牙那些事。
首先要向大家介紹一下Android版本是如何命名的。Google是按照英文字母表的順序為Android系統命名的,單個(gè)字母的版本代碼在正式發(fā)布之后會(huì )擴展為各種甜品的名字,比如從Android 4.3(Android也是從這個(gè)版本開(kāi)始支持低功耗藍牙(Bluetooth low energy) 技術(shù))開(kāi)始,依次為:
•Android 4.3,Jelly Bean,果凍豆
•Android 4.4,KitKat,奇巧巧克力
•Android 5.0,Lollipop,棒棒糖
•Android 6.0,Marshmallow,棉花糖
• Android 7.0,Nougat,牛軋糖
•Android 8.0,O(有傳聞可能是奧利奧Oreo ...(^_^)...)
Android的版本命名固然有趣,以上的甜品也都是小編的最?lèi)?ài),但是小編今天在這里寫(xiě)這篇文章可不是為了讓大家科普各種甜品的名的,我們的今天的目的,還是為了大家了解Google I/O開(kāi)發(fā)者大會(huì )上發(fā)布的Android O在藍牙方面有哪些已確認的新特性。
從開(kāi)發(fā)者預覽版來(lái)看,目前有兩個(gè)針對藍牙的主要特性將會(huì )加入到Android O當中:
1、針對藍牙5的更新
藍牙5在去年12月份對外正式發(fā)布,主要包括4倍的通信距離擴展,2倍的通信速率提高以及8倍的廣播包數據容量擴展。在最新的Android開(kāi)發(fā)者參考文檔API:O當中,對以上三個(gè)特性都有觸及。
setPreferredPhy方法
通過(guò)setPreferredPhy方法,可以對Android設備的藍牙PHY層進(jìn)行配置。藍牙5的物理層包括三種選項:1M PHY,2M PHY以及Coded PHY。
相對應的,對于setPreferredPhy的參數:txPhy和rxPhy,分別有如下定義:
PHY_LE_1M_MASK,支持藍牙5 ,1M PHY;
PHY_LE_2M_MASK,支持藍牙5 ,2M PHY;
PHY_LE_CODED_MASK.,支持藍牙5,Coded PHY;
對于phyOptions參數有如下定義:
PHY_OPTION_NO_PREFERRED;
PHY_OPTION_S2 ;
PHY_OPTION_S8;
因此,通過(guò)參數的不同組合,就可以實(shí)現長(cháng)距離或者是高速率的特性:
但是在這里需要強調一點(diǎn):長(cháng)距離和高速率的特性是否支持,還取決于A(yíng)ndroid設備的硬件是否支持藍牙5。
關(guān)于A(yíng)ndroid開(kāi)發(fā)者預覽版當中關(guān)于長(cháng)距離和高速率的更多細節,可以參考:https://developer.android.com/reference/android/bluetooth/BluetoothGatt....
8倍廣播包幀長(cháng)擴展
Android O 開(kāi)發(fā)者對 ScanRecord.getBytes() [3] 方法檢索的數據長(cháng)度做出了一些變化。在介紹這個(gè)變化之前,我們先首先腦補一下什么是ScanRecord。
在A(yíng)ndroid的低功耗藍牙掃描過(guò)程中,Android設備可以發(fā)起低功耗藍牙的掃描操作,在A(yíng)ndroid的“話(huà)語(yǔ)體系”中,這叫做:startScan(ScanCallback)。其中的ScanCallback是一個(gè)回調函數的入口地址,掃描操作的結果都可以通過(guò)ScanCallback返回到應用層。ScanRecord.getBytes()這個(gè)方法可以返回掃描結果的原始數據。
那么在A(yíng)ndroid O中,getBytes()方法對于所接收的字節數不作任何假定。因此,應用不應受所返回的任何最小或最大字節數的影響。相反,應用應當計算所返回數組的長(cháng)度。因此這一變更的意義就在于能夠兼容藍牙 5 的設備返回的數據長(cháng)度。對于Beacon應用的開(kāi)發(fā)者來(lái)說(shuō),無(wú)疑是一個(gè)福音。
同時(shí)藍牙5在廣播擴展方面還有一些其他的更新,例如:
從startAdvertisingSet的參數來(lái)看,已經(jīng)支持了藍牙5當中的periodical advertising和extended adversiting事件。
關(guān)于A(yíng)ndroid O當中藍牙5廣播擴展的更多細節,可以參閱以下網(wǎng)址:https://developer.android.com/reference/android/bluetooth/le/BluetoothLe...
2、Audio
Android O開(kāi)發(fā)者預覽版中同時(shí)發(fā)布了追加支持以往只是 Sony 限定的 LDAC[4] 編碼技術(shù)。LDAC是Sony開(kāi)發(fā)的一種能夠通過(guò)藍牙鏈路傳輸Hi-Res音頻的編碼技術(shù),這種技術(shù)可以將藍牙音頻信號的傳輸吞吐量有一個(gè)顯著(zhù)的提高,最高可以達到990kbps。帶來(lái)的變化則是在A(yíng)ndroid O支持LDAC之后,市面上支持LDAC的藍牙耳機和藍牙揚聲器都可以與Android O代際的智能手機連接,獲取高音質(zhì)的音頻體驗。
LDAC目前在傳輸速率上有3個(gè)檔位可供選擇:
•990kbps,音質(zhì)優(yōu)先模式
•660kbps,普通模式
•330kbps,連接優(yōu)先模式
屆時(shí)更新了Android O之后,大家不妨敗一個(gè)LDAC耳機體驗一下...(*_^)...。
3、可部署設備
目前的Android O還處于Beta[5]版本的狀態(tài),通過(guò)Android Beta 版計劃,您可以搶先試用 Android 預覽版,并提出反饋意見(jiàn)。目前,Nexus系列和Pixel系列的部分設備(如下列表)支持Android O Beta版本。
Nexus 5X、Nexus 6P、Nexus Player
Pixel C、Pixel、Pixel XL
評論