반응형
음악 관련된 앱들은 블루투스를 연결했을 때와 해제했을 때 소리가 중지되는 것이 일반적이다.
이러한 기능을 개발할 수 있도록 안드로이드에서는 브로드캐스트 리시버에 블루투스 연결 액션이 존재한다.
BluetoothDevice.ACTION_ACL_CONNECTED 블루투스에 기기가 연결되었을 때
BluetoothDevice.ACTION_ACL_DISCONNECTED 블루투스에 기기가 해제되었을 때
이외에도 블루투스 관련 액션이 많으므로 필요한 액션이 필요하다면 공식문서에서 찾아보면 된다.
https://developer.android.com/reference/android/bluetooth/BluetoothDevice
class BlueToothConnectReceiver : BroadcastReceiver()
{
override fun onReceive(context: Context?, intent: Intent?)
{
val action = intent?.action
instance?.let {
var nState = it.m_nState
when(action)
{
BluetoothDevice.ACTION_ACL_CONNECTED ->
{
}
BluetoothDevice.ACTION_ACL_DISCONNECTED ->
{
when(nState)
{
Const.PLAY_STATE_PLAY -> it.doStopSound(PlayerMgr.nFromTabPosition)
}
}
}
}
}
fun registerReceiver(context: Context?)
{
val filter = IntentFilter()
filter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED)
filter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED)
context?.registerReceiver(this, filter)
}
fun unregisterReceiver(context: Context)
{
context.unregisterReceiver(this)
}
}
반응형
'OS > Android' 카테고리의 다른 글
Android DatePicker Custom (0) | 2019.11.13 |
---|---|
Android Retrofit2 콜백 없이 통신 (0) | 2019.11.13 |
안드로이드 헤드셋 연결 브로드캐스트 리시버 (0) | 2019.11.13 |
Asset 폴더에 있는 ogg 파일을 패키지 디렉토리로 복사하기 (0) | 2019.11.13 |
Android Assets DB 파일 패키지 data 폴더로 이동하기 (0) | 2019.11.13 |