3

當Android自動配對/連接到藍牙設備,例如我的汽車,並沒有啓動/打開應用程序(某種廣播)時,有什麼辦法可以接收回撥?我曾經想過一種定期掃描設備的服務,看看它們是否已經綁定了,但這種感覺沒有效果,因爲Android已經這樣做了:當我在範圍內時,它會自動連接到我的汽車。這個想法是當我在我的汽車範圍內時開始一個特定的工作,當我超出我的汽車範圍時停止工作,而不必啓動應用程序或打開它。當藍牙設備自動配對/由系統連接時,Android接收回撥?

我最初的想法是,應該有一種可以註冊的廣播,以知道設備何時「連接」,並且在該聽衆剛開始工作一段時間或直到設備「斷開連接」 。請注意,將手機放在口袋裏並且不要拿起它是必要的。我只看到過這樣的例子,如果應用程序已經打開,通過監聽狀態變化。這可能沒有應用程序打開,只有「事件驅動」,並聽廣播?

回答

-2

您可以偵聽BluetoothAdapter的ACTION_STATE_CHANGED廣播。

See here for details

編輯:上述

爲適配器的狀態的變化。要收聽新的連接等使用這裏列出的:BluetoothDevice

+0

「廣播事件:本地藍牙適配器的狀態已經改變 例如,藍牙已經打開或關閉「。我想知道何時配對了新設備,而不是適配器是否聯機(它可能始終在線) –

+0

我的錯誤,您需要BluetoothDevice的操作:https://developer.android.com/reference/android/bluetooth /BluetoothDevice.html – theblitz

+1

感謝您的信息,但這不是當系統自動添加新設備。爲此,我必須手動啓動應用程序並讓其註冊。我希望能夠添加廣播接收器在我的清單中,用於監聽特定事件:設備配對時。 –

-1

試試下面的代碼:

IntentFilter actionChangeFilter = new IntentFilter(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED); 
     mContext.registerReceiver(btDeviceConnectChangedReceiver, actionChangeFilter);