android藍牙掃描
『壹』 syu android藍牙連接方法
syu android藍牙連接方法先展示代碼結構。
藍牙是一種無線數據與語音通信的開放性全球規范,它以低成本的短距離無線連接為基礎,可為固定的或移動的終端設備提供廉價的接入服務。
藍牙(Bluetooth)是一項短途無線電連接系統,它可以將不同的電子器材連系起來。原理就好像收音機一樣,裝有藍牙的電子器材,可以接收外來的訊息,從而進行特定的指令。
藍牙簡介:
不過,藍牙不但可以接收,也都可以「傳送」,因此裝有藍牙的電子器材,能夠互相溝通。現在,大部分的電腦配件,如列印機、熒幕等,都要接駁上電線,才可以互傳訊息,但藍牙透過其短途的接收系統,便可以使這些配件在沒有駁線下,仍然能夠傳送指令,做到真正「無線」的世界。
頭藍技術實質內容是為固定設備或移動設備之間的通信環境建立通用的近距無線介面,將通信技術與計算機技術進一步結合起來,使各種設備在沒有電線或電纜相互連接的情況下,能在近距離范圍內實現相互通信或操作。藍牙功能可以參考下面的操作打開使用,打開其他設備的藍牙。
並使其對其他設備可見,打開下拉頂簾,點擊藍牙圖標使其變為綠色,跳出提示框,勾選對其他設備可見。點擊掃描,搜索到其他設備後,點擊該設備名稱,雙方點確定後配對成功。選擇要傳輸的文件,共享通過藍牙即可傳輸文件。
『貳』 android 藍牙ble開發鎖屏狀態下不能掃描么
Android 從 4.3(API Level 18) 開始支持低功耗藍牙,但是只支持作為中心設備(Central)模式,這就意味著 Android 設備只能主動掃描和鏈接其他外圍設備(Peripheral)。從 Android 5.0(API Level 21) 開始兩種模式都支持。BLE 官方文檔在 這里。
在 BluetoothAdapter.startLeScan() 的時候,在 BluetoothAdapter.LeScanCallback.onLeScan() 中不能做太多事情,特別是周圍的BLE設備多的時候,非常容易導致出現如下錯誤:
E/GKI_LINUX(17741): ##### ERROR : GKI_exception: GKI_exception(): Task State Table
E/GKI_LINUX(17741): #####
E/GKI_LINUX(17741): ##### ERROR : GKI_exception: TASK ID [0] task name [BTU] state [1]
E/GKI_LINUX(17741): #####
E/GKI_LINUX(17741): ##### ERROR : GKI_exception: TASK ID [1] task name [BTIF] state [1]
E/GKI_LINUX(17741): #####
E/GKI_LINUX(17741): ##### ERROR : GKI_exception: TASK ID [2] task name [A2DP-MEDIA] state [1]
E/GKI_LINUX(17741): #####
E/GKI_LINUX(17741): ##### ERROR : GKI_exception: GKI_exception 65524 getbuf: out of buffers#####
E/GKI_LINUX(17741): ##### ERROR : GKI_exception:
E/GKI_LINUX(17741): **
開發建議:在 onLeScan() 回調中只做盡量少的工作,可以把掃描到的設備,扔到另外一個線程中去處理,讓 onLeScan() 盡快返回。
『叄』 請教android里怎麼判斷掃描到的藍牙設備是不是藍牙耳機
如果是在代碼中是無法判斷的,除非你們對接的藍牙耳機是有固定形號,或者只支持指定的藍牙型號就可以通過藍牙的getName來判斷, 通常情況下是不能知道設備是什麼的。
『肆』 android藍牙掃描持續多長時間,一次能掃描多少個設備
60秒,掃描所有藍牙設備
『伍』 android藍牙掃描槍
安卓系統的平板電腦,在設置裡面可以查看到藍牙地址。手機查詢藍牙地址的話,在撥號鍵盤上鍵入:*#2820#查詢藍牙MAC地址。現在也可來查一下啦~步驟如下:(1)在主屏幕上輕按「設置」按鈕。或者,按下物理按鈕「Menu」,選擇「設置」。(2)在設
『陸』 Android怎麼檢測藍牙的連接狀態如果一段斷開,我這邊怎麼檢測得到
按照藍牙規范,一旦超時連接斷開,會返回上層Disconnect complete Event with reason code: supervision timeout.可以根據該原因碼,檢測連接狀態,具體方法為:
1、BluetoothAdapter 顧名思義,藍牙適配器,直到建立bluetoothSocket連接之前,都要不斷操作它BluetoothAdapter里的方法很多,常用的有以下幾個:cancelDiscovery() 根據字面意思,是取消發現,也就是說當正在搜索設備的時候調用這個方法將不再繼續搜索disable()關閉藍牙enable()打開藍牙,這個方法打開藍牙不會彈出提示,更多的時候需要問下用戶是否打開,一下這兩行代碼同樣是打開藍牙,不過會提示用戶:Intemtenabler=newIntent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enabler,reCode);//同startActivity(enabler);
getAddress()獲取本地藍牙地址getDefaultAdapter()獲取默認BluetoothAdapter,實際上,也只有這一種方法獲取BluetoothAdaptergetName()獲取本地藍牙名稱。
2、getRemoteDevice(String address)根據藍牙地址獲取遠程藍牙設備getState()獲取本地藍牙適配器當前狀態(感覺可能調試的時候更需要)isDiscovering()判斷當前是否正在查找設備,是返回true***isEnabled()判斷藍牙是否打開,已打開返回true,否則,返回false***(String name,UUID uuid)根據名稱,UUID創建並返回BluetoothServerSocket,這是創建BluetoothSocket伺服器端的第一步startDiscovery()開始搜索,這是搜索的第一步2.BluetoothDevice看名字就知道,這個類描述了一個藍牙設備(UUIDuuid)根據UUID創建並返回一個BluetoothSocket這個方法也是我們獲取BluetoothDevice的目的——創建BluetoothSocket
這個類其他的方法,如getAddress(),getName(),同BluetoothAdapter。
『柒』 android判斷藍牙是否停止掃描
public static final String ACTION_DISCOVERY_STARTED =
"android.bluetooth.adapter.action.DISCOVERY_STARTED";
public static final String ACTION_DISCOVERY_FINISHED =
"android.bluetooth.adapter.action.DISCOVERY_FINISHED";
收到下面的消息的時候藍牙掃描停止。
『捌』 android怎麼藍牙一直掃描
關閉藍牙 重新打開
『玖』 Android中如何實現藍牙的配對與連接
藍牙功能可以參考下面的操作打開使用:
1.打開其他設備的藍牙,並使其對其他設備可見。
2.打開下拉頂簾,點擊藍牙圖標使其變為綠色,跳出提示框,勾選對其他設備可見。
3.點擊掃描,搜索到其他設備後,點擊該設備名稱,雙方點確定後配對成功。
4.選擇要傳輸的文件,共享通過藍牙即可傳輸文件。