當前位置:首頁 » 安卓系統 » android支持藍牙

android支持藍牙

發布時間: 2024-10-22 09:06:16

㈠ Android開發之藍牙(Bluetooth)

在上一篇中有介紹了Wifi與網路連接處理
Android開發之WiFi與網路連接處理
下面,來繼續說說Android中藍牙的基本使用。

Bluetooth是目前使用的最廣泛的無線通訊協議之一,主要針對短距離設備通訊(10米),常用於連接耳機、滑鼠和移動通訊設備等。

值得一提的是:
android4.2新增了部分新功能,但是對於Bluetooth熟悉的人或許開始頭疼了,那就是Android4.2引入了一個新的藍牙協議棧針BLE。谷歌和Broadcom之間的合作,開發新的藍牙協議棧,取代了基於堆棧的Bluez。因此市場上出現了老設備的兼容問題,很多藍牙設備在android4.2手機上不能正常使用。

BluetoothAdapter簡單點來說就是代表了本設備(手機、電腦等)的藍牙適配器對象。

first:we need permission
要操作藍牙,先要在AndroidManifest.xml里加入許可權

**下面來看看如何使用藍牙。 **↓↓↓****
Demo已就緒:

返回值:如果設備具備藍牙功能,返回BluetoothAdapter 實例;否則,返回null對象。

打開藍牙設備的方式:
1.直接調用函數enable()去打開藍牙設備 ;
2.系統API去打開藍牙設備,該方式會彈出一個對話框樣式的Activity供用戶選擇是否打開藍牙設備。

注意: 1.如果藍牙已經開啟,不會彈出該Activity界面。2.在目前大多數Android手機中,是不支持在飛行模式下開啟藍牙的。如果藍牙已經開啟,那麼藍牙的開關 ,狀態會隨著飛行模式的狀態而發生改變。

1. 搜索藍牙設備
使用BluetoothAdapter的startDiscovery()方法來搜索藍牙設備
startDiscovery()方法是一個非同步方法,調用後會立即返回。該方法會進行對其他藍牙設備的搜索,該過程會持續12秒。該方法調用後,搜索過程實際上是在一個System Service中進行的,所以可以調用cancelDiscovery()方法來停止搜索(該方法可以在未執行discovery請求時調用)。

系統開始搜索藍牙設備
^( *  ̄(oo) ̄ ) ^ 系統會發送以下三個廣播:

2.掃描設備

3.定義廣播接收器接收搜索結果

4.注冊廣播

獲取附近的藍牙設備

第一步建立連接:首先Android sdk(2.0以上版本)支持的藍牙連接是通過BluetoothSocket建立連接,服務端BluetoothServerSocket和客戶端(BluetoothSocket)需指定同樣的UUID,才能建立連接,因為建立連接的方法會阻塞線程,所以伺服器端和客戶端都應啟動新線程連接。

(這里的服務端和客戶端是相對來說的)
兩個藍牙設備之間的連接,則必須實現服務端與客戶端的機制。
當兩個設備在同一個RFCOMM channel下分別擁有一個連接的BluetoothSocket,這兩個設備才可以說是建立了連接。

服務端設備與客戶端設備獲取BluetoothSocket的途徑是不同的。
1,服務端設備是通過accepted一個incoming connection來獲取的,
2,客戶端設備則是通過打開一個到服務端的RFCOMM channel來獲取的。

服務端
通過調用BluetoothAdapter的(String, UUID)方法來獲取BluetoothServerSocket(UUID用於客戶端與服務端之間的配對)

客戶端
調用BluetoothService的(UUID)方法獲取BluetoothSocket(該UUID應該同於服務端的UUID)。
調用BluetoothSocket的connect()方法(該方法為block方法),如果UUID同服務端的UUID匹配,並且連接被服務端accept,則connect()方法返回。

數據傳遞,通過以上操作,就已經建立的BluetoothSocket連接了,數據傳遞無非是通過流的形式
獲取流

該類就是關於遠程藍牙設備的一個描述。通過它可以和本地藍牙設備---BluetoothAdapter連接通信。

好多東西我也不知道怎麼描述,下面給出Demo:
剛好有剛學習的小夥伴問我ListView怎麼用,那我就用ListView。

源碼
RairDemo
GitHub: https://github.com/Rairmmd/android-demo
Coding: https://coding.net/u/Rair/p/RairDemo/git

㈡ Android系統中的藍牙和NFC有哪些應用場景


Android系統中的藍牙和NFC有哪些應用場景?
近年來,隨著智能手機的普及和人們對便捷生活的追求,無線通信技術不斷得到改進和應用。Android作為移動設備最流行的操作系統之一,其內置的藍牙和NFC功能得到了廣泛採用。本文將探討在Android系統中藍牙和NFC的應用場景及其相關開發。
一、藍牙與Android系統
藍牙技術是指通過無線電波實現短距離數據交換的技術。在Android系統中,藍牙通常用於以下四種應用場景:
1.音頻傳輸:用戶可以通過藍牙將音樂從手機傳輸到藍牙耳機或揚聲器中播放,實現無線聽歌。
2.數據傳輸:用戶可以通過藍牙將文件、圖片等數據傳輸到其他藍牙設備中,如電腦、平板、手機等,實現文件快速傳輸。
3.藍牙控制:用戶可以通過藍牙控制智能家居設備、電器等,實現家居智能化。
4.藍牙定位:藍牙技術可以實現室內定位,用戶可以通過藍牙接收設備信號來獲取位置信息。
二、NFC與Android系統
NFC技術是指近場通信技術,用戶只需將智能手機靠近NFC標簽或設備即可進行傳輸。在Android系統中,NFC通常有以下兩種應用場景:
1.門禁卡:在一些高科技大樓或企業,員工用自己的智能手機可以代替傳統的門禁卡,使用NFC技術刷卡進入寫字樓或單位。
2.電子錢包:在移動支付方面,NFC技術被廣泛應用。如現在的支付寶、微信支付等都支持通過近場通信進行支付,用戶可以通過手機直接掃碼或靠近電子支付終端即可實現支付。
三、藍牙和NFC應用開發
在Android開發中,藍牙和NFC應用也被廣泛採用。Android中提供了藍牙和NFC的API介面,可用於應用的開發和調用。例如在藍牙應用開發中,可以通過BluetoothAdapter類和BluetoothDevice類進行藍牙設備的連接和數據傳輸。在NFC應用開發中,可以通過NfcAdapter類實現NFC技術的讀寫和應用開發。
總之,藍牙和NFC技術的應用場景非常廣泛,而且隨著智能手機的日益普及,它們的應用也越來越成熟。對於Android開發者來說,熟練掌握藍牙和NFC的應用和開發技術也非常有必要。

㈢ Android 藍牙開發(一)

普通藍牙設備官方文檔

Android 平台包含藍牙網路堆棧支持 ,憑藉此支持,設備能以無線方式與其他藍牙設備交換數據。應用框架提供了通過 Android Bluetooth API 訪問藍牙功能的途徑。使用 Bluetooth API Android 應用可以執行下面的操作:

傳統藍牙適用於電池使用強度較大的操作,例如 Android 設備之間的流傳輸和通信等。針對具有低功耗要求的藍牙設備,Android 4.3(API 18)中引入了面向低功耗藍牙的 API 支持。

使用 Android Bluetooth API 來完成使用藍牙進行通信的四項主要任務: 設置藍牙 、 查找局部區域內的配對設備或可用設備 、 連接設備 ,以及在 設備之間傳輸數據 。

關於藍牙的 API 在 android.bluetooth 包中,下面介紹一下和藍牙相關的主要類:

在 BluetoothProfile IPC 客戶端連接到服務(即,運行特定配置文件的內部服務)或斷開服務連接時向其發送通知的介面。

使用藍牙必須聲明許可權 BLUETOOTH 才可以執行藍牙通信。

1、獲取藍牙適配器

例如:我們可以查詢所有已配對的設備,然後使用 ArrayAdapter 向用戶顯示每台設備的名稱:

要發起連接僅需要知道目標藍牙設備的 Mac 地址就可以了。

注意 執行 discovery 對於藍牙適配器來說是一個非常繁重的過程,並且會消耗大量資源。在找到要連接的設備後, 要確保使用 cancelDiscovery() 來停止發現,然後嘗試連接 。如果您已經和某台設備進行連接,那麼這個時候執行發現操作會大幅度的減少此連接可用的帶寬!因此不應該在處於連接狀態的時候執行發現操作!

例如:

在連接之前如果兩個設備沒有配對,則系統會自動發出配對請求。

伺服器套接字接受連接的基本過程

放在子線程中去執行。

例子:

客戶端連接的基本過程

調用 connect() 的時候要確保客戶端沒有執行發現操作。如果執行了會大幅度降低連接的速度,增加失敗的可能。

例子

在連接之前調用 cancleDiscovery() 在進行連接之前應該始終調用這個方法,而且調用的時候無需檢測是否正在掃描。

過程:

從 Android 3.0 開始, Bluetooth API 便支持使用藍牙配置文件。藍牙配置文件是適用於設備間藍牙通信的無線介面規范。

1、藍牙配置文件就是設備間通信(藍牙設備)的一種規范

免提配置文件便是一個示例,對於連接到無線耳機的手機,兩台設備都必須支持免提配置文件。我們也可以通過實現介面 BluetoothProfile 來寫入自己的類來支持特定的藍牙配置文件。Android API 提供了以下的幾種藍牙配置文件的實現:

2、使用配置文件的基本步驟

創建 HDP 應用:

關於普通藍牙設備和普通藍牙設備之間的連接通信

關於藍牙設備和藍牙儀器(藍牙耳機、電子秤等等類似產品)
這種之間的通信是通過配置文件代理來實現的。
都有一個對應的配置文件代理類。具體的操作是通過這個對象來完成。

參考: https://mp.weixin.qq.com/s?__biz=MzU5NzA2NjQzMg==&mid=2247484128&idx=1&sn=&scene=21#wechat_redirect

熱點內容
geplc編程 發布:2024-10-22 11:18:21 瀏覽:348
查看linux安裝mysql 發布:2024-10-22 11:15:26 瀏覽:333
導入java代碼 發布:2024-10-22 11:13:14 瀏覽:974
雲伺服器不能復制到電腦 發布:2024-10-22 11:13:13 瀏覽:870
中國移動雲對象存儲 發布:2024-10-22 11:13:04 瀏覽:833
小精靈反編譯 發布:2024-10-22 10:50:31 瀏覽:723
存儲學號和三門課 發布:2024-10-22 10:47:09 瀏覽:509
編程跳馬 發布:2024-10-22 10:31:58 瀏覽:692
access資料庫的操作 發布:2024-10-22 10:26:00 瀏覽:957
python修飾符 發布:2024-10-22 10:25:19 瀏覽:118