android 藍芽BLE掃描和wifi掃描總結
做室內定位的程式設計師應該都知道,在android 5.0之後,google推出了藍芽掃描新介面,我們在實測中發現出一些問題,現在給大家列出,以供參考:
1.android 4.3.1(Build.VERSION_CODES.JELLY_BEAN_MR2)增加的startLeScan(callback)方法,官方在5.0之後不建議使用,實測此方法,4.3至目前6.0版本還是很穩定的,毫秒級無限返回藍芽資料,很穩定,就是很耗電;
2.android5.0(Build.VERSION_CODES.LOLLIPOP)谷歌建議使用BluetoothAdapter.getBluetoothLeScanner().startScan(
①:另外實測中大部分市面上的android4.3系統之上的手機,小米低配系列和華為低配系列會出現掃描幾分鐘甚至幾十秒之後,手機藍芽底層崩潰,logcat報出底層藍芽模組報錯,只能重啟才有效,不過最近MIUI6之後,發現例紅米1s藍芽掃描可以無限支援藍芽掃描介面,說明是系統ROM的問題;
②:三星系列手機,note是最差的,接收到BLE藍芽訊號很不穩定,可能出現較遠出的BLE裝置訊號突然很高的情況;S4,S5掃描正常。
③:魅族藍芽是最差的,兩款魅族手機,我不清楚型號了,應該是中配版的,實測掃描開啟幾秒後,logcat報出底層藍芽崩潰,無法返回任何資訊。
④:介面反饋最正常的肯定是Google android實驗室榜樣機Nexus系列,也僅限於1中老介面
android 6.0以上,藍芽掃描和wifi掃描方法預設需要定位許可權支援,還需要在定位許可權中把掃描設定開啟,實測如果這兩項不開,返回掃描結果集不報錯但數量為0。如下圖:
最後建議大家:API有風險,修改需謹慎,哪怕是我Google大帝,也有偷懶的時候
相關推薦
android 藍芽BLE掃描和wifi掃描總結
做室內定位的程式設計師應該都知道,在android 5.0之後,google推出了藍芽掃描新介面,我們在實測中發現出一些問題,現在給大家列出,以供參考: 1.android 4.3.1(Build.VERSION_CODES.JELLY_BEAN_MR2)增加的startL
(一)Android藍芽的第一步操作—— —— 掃描本機是否存在藍芽裝置
1.進行操作前要把藍芽許可權開啟 在AndroidManifest中新增許可權命令 <uses-permission android:name="android.permission.BLUETOOTH" /> 2.繼承OnClickLis
【車載人體健康檢測器專案】Android藍芽例項(和微控制器藍芽模組通訊)
1、Android藍芽程式設計 藍芽3.0及以下版本程式設計需要使用UUID,UUID是通用唯一識別碼(Universally Unique Identifier),這是一個軟體構建的標準,也是被開源基金會組織應用在分散式計算環境領域的一部分。在藍芽3.0及下一版本中,UUID被用於唯一
Android 藍芽BLE開發詳解
轉載請註明出處。 https://blog.csdn.net/kong_gu_you_lan/article/details/81009800 1.介紹 藍芽是一種短距離的無線通訊技術,可以實現固定裝置、移動裝置之間的資料交換。一般將藍芽分為兩大類,藍芽3.0規範之前的
Android 藍芽抓包和分析
轉自:https://blog.csdn.net/wangbf_java/article/details/81269149 藍芽通訊其實和http通訊有點類似,http通過介面互動抓取資料包也很方便,但是到了藍芽就沒那麼方便了,本文就是介紹如何實現藍芽資料包的抓取。 怎麼抓包 首先設定在手機
Android藍芽BLE
Android的BLE就是低功耗藍芽,是在Android4.3之後才支援的功能。 在這個BLE的層級關係中一個低功耗藍芽可以有多個Service,而一個Service可以有多個Characteristic。 Service可以看做一個功能的集合,sevice有自己的獨立唯一的16位的UUID
Android 藍芽BLE 4.0 屬性判斷
* Characteristic proprty: Characteristic is broadcastable. * 可以廣播,二進位制0001 */publicstaticfinalint PROPERTY_BROADCAST = 0x01; /** * Characteristic proper
android 藍芽 ble
如果不瞭解androd ble就先學ble整個得大致通訊流程,如果大致通訊流程瞭解了,就利用封裝好得 ble庫,應該對你幫助很大。android ble連線資料大致也沒幾個步驟,但是對於剛涉水藍芽的小夥伴可能會一臉矇蔽,怎麼弄就是不成功,下邊講解,直接從程式碼中講解1
Android 藍芽BLE 中onCharacteristicChanged不走回調的解決方案
做個小筆記,具體有關Android 藍芽Ble的問題請看下面兩篇文章,寫的很實用 最近在做一個智慧硬體的專案,遇到一個問題浪費了我三天時間,所以決定把它記錄下來。我訪問各大論壇沒有一個明確的
Android藍芽BLE的詳細講解
我今天分享的主題是 Android 上低功耗藍芽的實踐。這個主題比較小眾。我在過去的一年多的時間裡,主要是在做低功耗藍芽相關的開發。接觸過程中發現,BLE 的開發和通常的 Android APP 的開發有點不一樣,這裡需要訪問硬體資源,而且涉及到一些協議相關的內容,而且
android 藍芽BLE多連線
最近做藍芽BLE的開發,此專案和網上別人的稍微有點不同,手機需要連線多個BLE裝置,此部分網上的資料很少,所以拿出來和大家分享一下 //初始化private void initBt() { manager = BluetoothManager.getInstanc
android 藍芽通訊實現手機藍芽的開啟,並掃描附近可見的藍芽裝置
藍芽是一種重要的短距離無線通訊協議,廣泛應用於各種裝置(手機,醫療,汽車等)。藍芽是比較常用的無線通訊裝置,早研究成為手機的標配。現在的安卓手機基本上都有藍芽,所有通過藍芽對資料有很好的硬體基礎 在Android中,與藍芽有關的類和介面在android.bluetooth包
Android-低功耗藍芽(BLE)-客戶端(主機/中心裝置)和服務端(從機/外圍裝置)
一.Android 低功耗藍芽(BLE)的API簡介 從Android 4.3(API 18)才支援低功耗藍芽(Bluetooth Low Energy, BLE)的核心功能, BLE藍芽協議是GATT協議, BLE相關類不多, 全都位於android
Android藍芽socket實現視訊實時傳輸,以及圖片和文字傳輸
目標 兩臺手機裝置之間能夠正常進行藍芽配對(藍芽模組兒和硬體掛鉤,所以需要兩臺真機) socket實現藍芽文字傳輸 實現圖片傳輸 實現實時視訊傳輸 程式碼下載:https://download.csdn.net/download/m0_37781149/10434336
藍芽開發(二)掃描裝置
一、申請位置許可權 在Android6.0以後要掃描藍芽裝置,還需要請求位置許可權: <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <
藍芽BLE GATT完全分析和運用
轉載自: https://blog.csdn.net/yueqian_scut/article/details/50752314 很多人都做過藍芽開發,很多人也能夠通過仿照GATT例程的方式新增一個屬性服務,但是很多人都未必能夠清晰地理解BLE的屬性profile,也很容易被屬性Attri
低功耗藍芽BLE之連線事件、連線引數和更新方法
連線事件 在一個連線當中,主裝置會在每個連線事件裡向從裝置傳送資料包。一個連線事件是指主裝置和從裝置之間相互發送資料包的過程。連線事件的進行始終位於一個頻率,每個資料包會在上個數據包發完之後等待
android藍芽4.0BLE及2.0 2.1 apk 串列埠助手帶16個自定義按鍵和自定義指令 字元接收 十六進位制或字元傳送
android藍芽4.0BLE apk 帶16個自定義按鍵和自定義指令 字元接收 https://pan.baidu.com/s/1eRSfprO android藍芽2.0 2.1 apk 帶16個自定義按鍵和自定義指令 字元接收 帶自動連線 https://pan.b
Android 藍芽開發 —— BLE
藍芽——BLE 介紹 1.BLE 是 Bluetooth Low Energy 的縮寫,意思為低功耗藍芽。由藍芽技術聯盟(Bluetooth SIG)設計的無線通訊技術,主要用於醫療,健身,安全和家庭娛樂行業。 與傳統藍芽相比,藍芽低功耗旨在大幅降低功耗
Android 藍芽獲得連線裝置的Mac地址和名稱
adapter = BluetoothAdapter.getDefaultAdapter(); int a2dp = adapter.getProfileConnectionState(BluetoothProfile.A2DP); int headset = adap