亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android - BlueTooth BLE 開篇

2019-11-09 17:53:16
字體:
來源:轉載
供稿:網友

一. BLE

認識BLE

BLE 是Bluetooth Low Energy 的縮寫,又叫藍牙4.0,區別于藍牙3.0和之前的技術。BLE前身是NOKIA開發的Wibree技術,主要用于實現移動智能終端與周邊配件之間的持續連接,是功耗極低的短距離無線通信技術,并且有效傳輸距離被提升到了100米以上,同時只需要一顆紐扣電池就可以工作數年之久。

認識單雙模

BLE是在藍牙技術的基礎上發展起來的,既同于藍牙,又區別于傳統藍牙。BLE設備分單模和雙模兩種,雙模簡稱BR,商標為Bluetooth Smart Ready,單模簡稱BLE或者LE,商標為Bluetooth Smart。Android是在4.3后才支持BLE,這可以解釋不是所有藍牙手機都支持BLE,而且支持BLE的藍牙手機一般是雙模的。

單雙模用途

雙模兼容傳統藍牙,可以和傳統藍牙通信,也可以和BLE通信,常用在手機上,android4.3和IOS4.0之后版本都支持BR,也就是雙模設備。單模只能和BR和單模的設備通信,不能和傳統藍牙通信,由于功耗低,待機長,所以常用在手環的智能設備上。這可以解釋手機上的BLE與手環等設備上的BLE的區別。

支持

不是所有手機都支持BLE,因為BLE不僅僅依靠軟件實現,同時需要硬件支持,于是有很多手機不能聯接智能手環等設備。Android4.3手機上安裝的是雙模BR,因此兼容藍牙3.0之前的技術,既能與BLE設備通信,也能與傳統藍牙通信,比較耗電,能夠像傳統設備一樣高速傳輸。大部分智能手環使用的單工BLE,不支持傳統藍牙,不能與之聯結和通信,低功耗低速率設備。

https://www.bluetooth.com/ https://developer.android.google.cn/guide/topics/connectivity/bluetooth-le.html


二. BLE 特征與傳輸概念

特征 BLE(Bluetooth Low Energy),藍牙4.0核心PRofile,主要特點是快速搜索,快速連接,超低功耗保持連接和數據傳輸,缺點:數據傳輸速率低,由于其具有低功耗特點,所以經常用在可穿戴設備之中。

數據傳輸 (1)Generic Attribute Profile (GATT) 通過BLE連接,讀寫屬性類小數據的Profile通用規范?,F在所有的BLE應用Profile都是基于GATT的。

(2)Attribute Protocol (ATT) GATT是基于ATT Protocol的。ATT針對BLE設備做了專門的優化,具體就是在傳輸過程中使用盡量少的數據。每個屬性都有一個唯一的UUID,屬性將以characteristics and services的形式傳輸。

(3)Characteristic Characteristic可以理解為一個數據類型,它包括一個value和0至多個對次value的描述(Descriptor)。

(4)Descriptor 對Characteristic的描述,例如范圍、計量單位等。

(5)Service Characteristic的集合。例如一個service叫做“Heart Rate Monitor”,它可能包含多個Characteristics,其中可能包含一個叫做“heart rate measurement”的Characteristic。

圖說關系

如下圖所示,一個Service包含一個或多個Characteristic ; 一個Characteristic包含一個或多個Descriptor ;

這里寫圖片描述

中心設備和外圍設備(Central vs. peripheral)

中心設備和外圍設備的概念針對的是BLE連接本身。相關內容移步:

Android - BlueTooth BLE 之 Central 與 Peripheral 理解

GATT server vs. GATT client:

這兩種角色取決于BLE連接成功后,兩個設備間通信的方式。例如:當 連接建立后,它們之間就需要傳輸GATT數據。誰做server,誰做client,則取決于具體數據傳輸的情況;哪一方發送數據,那么它就是server端。


三. Android BLE

在BLE支持上,Android 從 4.3 (API 18 )才可以使用(android.bluetooth ),在Android 5.0 (API 21)版本中,新添加了android.bluetooth.le 包,方便開發BLE,新增 使用Scaner進行掃描藍牙設備Advertiser 相關 外圍設備(Peripheral)開發包。

這里寫圖片描述

后面我將實現API實現 BLE設備掃描((4.3~5.0與5.0以上)兩種方式),連接,數據傳輸,最后將實現兼容性處理,封裝為BleTooth 庫,以便使用,后將使用手機作為外圍,來體驗使用android.bluetooth.le包下 Advertiser相關內容。

AndroidManifest 權限配置 <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

Android 5.0 及其之后,需要定位權限; Android 6.0定位權限需要申請,在這里不實現;簡單方法:將build.gradle 中 targetSdkVersion 修改為 22

Android 5.0 之后權限配置 <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.access_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>配置 Feature

Android 5.0及其以上配置 :

 <uses-feature android:name="android.bluetooth.le" android:required="true"/>

5.0以下 配置:

<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>

required 為true 時,應用將只能安裝在支持BLE的設備上; 一般設置為false,這樣都可以安裝,就顯得友好,不過這樣做的話,需要進行代碼判斷:

// Use this check to determine whether BLE is supportedon the device. Then// you can selectively disable BLE-related features.if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)){ // 不支持BLE設備 finish();}判斷藍牙是否打開

通過BluetoothAdapter實現判斷

private void checkBlueToothDevice() { BluetoothAdapter defaultAdapter = BluetoothAdapter.getDefaultAdapter(); if (defaultAdapter == null) { //不支持藍牙 } else { if (!defaultAdapter.isEnabled()) { //藍牙沒有打開 } } }廣播監聽實現系統藍牙狀態(打開,關閉) //onCreate()中注冊廣播 private void registerBlueToothReceiver() { IntentFilter filter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED); registerReceiver(blueToothReceiver, filter); } //onDestory() 中解注冊廣播 private void unRegisterBlueToothReceiver() { unregisterReceiver(blueToothReceiver); } //狀態監聽廣播 private BroadcastReceiver blueToothReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { switch (intent.getAction()) { case BluetoothAdapter.ACTION_STATE_CHANGED: int blueState = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, 0); switch (blueState) { case BluetoothAdapter.STATE_TURNING_ON: break; case BluetoothAdapter.STATE_ON: break; case BluetoothAdapter.STATE_TURNING_OFF: break; case BluetoothAdapter.STATE_OFF: showDialog("請先打開藍牙,才可以使用!", 2); break; } break; } } };

四. 最后

新(這)的(是)一年(句),加(費)油(話)!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色噜噜狠狠狠综合曰曰曰88av| 国产精品一区二区三区久久久| 国产亚洲激情在线| 成人黄色av网站| 中文字幕亚洲欧美日韩2019| 久久久在线观看| 一区二区三欧美| 日韩一区二区精品视频| 色综合伊人色综合网| 91网站免费看| 国产精品热视频| 亚洲香蕉成视频在线观看| 91高清视频免费观看| 国产精品电影在线观看| 国产精品一区电影| 国产精品久久久久久av| 中文字幕一区日韩电影| 日韩在线欧美在线国产在线| 国产一区二区在线播放| 韩国三级电影久久久久久| 91九色国产社区在线观看| 日本精品一区二区三区在线播放视频| www亚洲精品| 国产日韩在线看片| 欧美亚洲国产视频小说| 欧美成年人视频| 精品日本高清在线播放| 欧美中文字幕第一页| 97视频免费在线观看| 国产成人精品av在线| 色妞在线综合亚洲欧美| 亚洲欧美在线免费观看| 在线观看日韩www视频免费| 精品国产老师黑色丝袜高跟鞋| 日韩欧美在线免费| 亚洲免费影视第一页| 91久久国产婷婷一区二区| 国产91热爆ts人妖在线| 日韩av第一页| 欧美人与性动交a欧美精品| 国产成人精品在线播放| 国产亚洲激情在线| 国产91在线视频| 亚洲国产精品99久久| 久久香蕉国产线看观看网| 日韩精品在线观看一区| 午夜精品久久久久久久99热浪潮| 在线观看亚洲区| 欧美午夜电影在线| 午夜精品久久久久久久白皮肤| 久久久久久久成人| 国产精品88a∨| 精品久久久久久中文字幕大豆网| 国产午夜精品理论片a级探花| 精品无人国产偷自产在线| 亚洲欧洲第一视频| 亚洲伊人久久综合| 亚洲91精品在线| 国产福利视频一区| 欧美日韩中文在线观看| 欧美日韩国产综合视频在线观看中文| 欧美精品制服第一页| 国产精品狼人色视频一区| 精品美女永久免费视频| 日韩h在线观看| 最近2019中文字幕mv免费看| 欧美电影免费播放| 亚洲免费人成在线视频观看| 91地址最新发布| 国产精品劲爆视频| 亚洲欧美在线免费观看| 久99九色视频在线观看| 久久视频这里只有精品| 欧美激情va永久在线播放| 亚洲国产精品va在线看黑人动漫| 欧美精品免费在线| 久久久www成人免费精品张筱雨| 日韩欧美极品在线观看| 欧美有码在线视频| 日韩欧美在线免费观看| 欧美激情视频一区二区三区不卡| 国产综合久久久久久| 美女黄色丝袜一区| 555www成人网| 午夜剧场成人观在线视频免费观看| 欧美激情精品久久久久久免费印度| 成人国产精品免费视频| 九九热精品视频| 中文字幕av一区二区三区谷原希美| 亚洲大胆人体视频| 欧美精品videos性欧美| 最新69国产成人精品视频免费| 欧美日韩国产影院| 日韩成人av网| 亚洲国产欧美久久| 91精品久久久久久久久久入口| 日韩大片在线观看视频| 国产成人小视频在线观看| 欧美午夜视频在线观看| 国产日本欧美一区二区三区在线| 欧美大全免费观看电视剧大泉洋| 亚洲va国产va天堂va久久| 日韩经典一区二区三区| 欧美人与性动交a欧美精品| 精品国产一区二区三区在线观看| 91精品国产91久久久久久最新| 日韩视频一区在线| 日韩资源在线观看| 久久精品这里热有精品| 超碰精品一区二区三区乱码| 日韩av片免费在线观看| 日韩欧美国产一区二区| 国产精品一香蕉国产线看观看| 日韩一二三在线视频播| 久久精品电影一区二区| 91人成网站www| 一区二区欧美日韩视频| 青青草精品毛片| www欧美xxxx| 国产脚交av在线一区二区| 国产成人精品久久| 97国产精品久久| 日韩av中文在线| 77777亚洲午夜久久多人| 色综合久久中文字幕综合网小说| 伊人青青综合网站| 日韩在线精品视频| 国产91精品久久久久久久| 日韩大片免费观看视频播放| 国产欧美一区二区三区视频| 亚洲偷熟乱区亚洲香蕉av| 亚洲欧美综合v| 欧美电影第一页| 亚洲国产精品电影| 亚洲天堂男人的天堂| 亚洲色图欧美制服丝袜另类第一页| 国语自产精品视频在免费| 韩国精品久久久999| 亚洲激情免费观看| 国语自产精品视频在免费| 欧美性猛交丰臀xxxxx网站| 亚洲成人a级网| 欧洲亚洲妇女av| 亚洲国产欧美一区二区三区久久| 国产亚洲一区精品| 8x海外华人永久免费日韩内陆视频| 伊人成人开心激情综合网| 日韩av网站导航| 97超碰国产精品女人人人爽| 国产婷婷成人久久av免费高清| 精品久久久久久中文字幕一区奶水| 国产日韩综合一区二区性色av| 日韩电影网在线| 久热精品视频在线免费观看| 亚洲毛片在线免费观看| 欧美精品九九久久| 亚洲三级 欧美三级| 一区二区三区在线播放欧美| 欧美激情网站在线观看| 人九九综合九九宗合| 亚洲男人天堂2019| 精品亚洲va在线va天堂资源站| 亚洲美女精品久久| 欧美视频在线免费看|