新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Android O里的藍牙那點事

        Android O里的藍牙那點事

        作者: 時間:2017-05-23 來源:電子產品世界 收藏

          Google已于5月17日的開發者大會上正式宣布,Beta版Android O即日起對普通用戶開放。和以往一樣,Google已經3月份提早向開發者提供了下一代Android的預覽版,Android O[1] Developer Preview。

        本文引用地址:http://www.104case.com/article/201705/359567.htm

          從Android開發者的Reference Guide[2] 以及其開發者博客上發布的博文來看,Android O在藍牙5的支持上著墨頗多,“藍”小編覺得今天有必要為大家腦補一下Android O當中的藍牙那些事。

          首先要向大家介紹一下Android版本是如何命名的。Google是按照英文字母表的順序為Android系統命名的,單個字母的版本代碼在正式發布之后會擴展為各種甜品的名字,比如從Android 4.3(Android也是從這個版本開始支持低功耗藍牙(Bluetooth low energy) 技術)開始,依次為:

          •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的版本命名固然有趣,以上的甜品也都是小編的最愛,但是小編今天在這里寫這篇文章可不是為了讓大家科普各種甜品的名的,我們的今天的目的,還是為了大家了解Google I/O開發者大會上發布的Android O在藍牙方面有哪些已確認的新特性。

          從開發者預覽版來看,目前有兩個針對藍牙的主要特性將會加入到Android O當中:

          1、針對藍牙5的更新

          藍牙5在去年12月份對外正式發布,主要包括4倍的通信距離擴展,2倍的通信速率提高以及8倍的廣播包數據容量擴展。在最新的Android開發者參考文檔API:O當中,對以上三個特性都有觸及。

          setPreferredPhy方法

            

          通過setPreferredPhy方法,可以對Android設備的藍牙PHY層進行配置。藍牙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;

          因此,通過參數的不同組合,就可以實現長距離或者是高速率的特性:

            

          但是在這里需要強調一點:長距離和高速率的特性是否支持,還取決于Android設備的硬件是否支持藍牙5。

          關于Android開發者預覽版當中關于長距離和高速率的更多細節,可以參考:https://developer.android.com/reference/android/bluetooth/BluetoothGatt....

          8倍廣播包幀長擴展

          Android O 開發者對 ScanRecord.getBytes() [3] 方法檢索的數據長度做出了一些變化。在介紹這個變化之前,我們先首先腦補一下什么是ScanRecord。

          在Android的低功耗藍牙掃描過程中,Android設備可以發起低功耗藍牙的掃描操作,在Android的“話語體系”中,這叫做:startScan(ScanCallback)。其中的ScanCallback是一個回調函數的入口地址,掃描操作的結果都可以通過ScanCallback返回到應用層。ScanRecord.getBytes()這個方法可以返回掃描結果的原始數據。

          那么在Android O中,getBytes()方法對于所接收的字節數不作任何假定。因此,應用不應受所返回的任何最小或最大字節數的影響。相反,應用應當計算所返回數組的長度。因此這一變更的意義就在于能夠兼容藍牙 5 的設備返回的數據長度。對于Beacon應用的開發者來說,無疑是一個福音。

          同時藍牙5在廣播擴展方面還有一些其他的更新,例如:

            

          從startAdvertisingSet的參數來看,已經支持了藍牙5當中的periodical advertising和extended adversiting事件。

          關于Android O當中藍牙5廣播擴展的更多細節,可以參閱以下網址:https://developer.android.com/reference/android/bluetooth/le/BluetoothLe...

          2、Audio

          Android O開發者預覽版中同時發布了追加支持以往只是 Sony 限定的 LDAC[4] 編碼技術。LDAC是Sony開發的一種能夠通過藍牙鏈路傳輸Hi-Res音頻的編碼技術,這種技術可以將藍牙音頻信號的傳輸吞吐量有一個顯著的提高,最高可以達到990kbps。帶來的變化則是在Android O支持LDAC之后,市面上支持LDAC的藍牙耳機和藍牙揚聲器都可以與Android O代際的智能手機連接,獲取高音質的音頻體驗。

          LDAC目前在傳輸速率上有3個檔位可供選擇:

          •990kbps,音質優先模式

          •660kbps,普通模式

          •330kbps,連接優先模式

          屆時更新了Android O之后,大家不妨敗一個LDAC耳機體驗一下...(*_^)...。

          3、可部署設備

          目前的Android O還處于Beta[5]版本的狀態,通過Android Beta 版計劃,您可以搶先試用 Android 預覽版,并提出反饋意見。目前,Nexus系列和Pixel系列的部分設備(如下列表)支持Android O Beta版本。

          Nexus 5X、Nexus 6P、Nexus Player

          Pixel C、Pixel、Pixel XL

         

         

         



        關鍵詞: Android O

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 定襄县| 盐亭县| 古浪县| 台南县| 金阳县| 涞源县| 沾化县| 靖远县| 克东县| 富阳市| 分宜县| 泌阳县| 漯河市| 滨州市| 铜陵市| 克山县| 屯门区| 贵阳市| 新乡县| 成武县| 盱眙县| 民和| 石门县| 荔浦县| 桦川县| 神木县| 新安县| 镇安县| 石狮市| 唐海县| 盐津县| 新河县| 赤水市| 祁连县| 渑池县| 东安县| 广元市| 泸水县| 梁河县| 紫阳县| 丽江市|