2014-01-23 3 views
1

블루투스 방송 수신기를 만들고 싶습니다. 블루투스 핸즈프리 차량용 키트에 연결하는 경우에만 반응합니다. 그러나 나는 그것을 어떻게 제거해야할지 모른다.블루투스 방송 수신기, BleutoothClass 얻는 법

블루투스 클래스를 얻는 방법에는 어떤 것이 있습니까?을 의도하지 않았습니까? 아니면 얻을 수있는 다른 방법이 있습니까?

나는 아래처럼 뭔가를 시작했지만, 나는 올바른 길을 찾지 못했습니다. 하나 추가는 당신이 장치에서 분리 할 때 블록이있는 경우라고합니다 (단,이 final int state = intent.getIntExtra(???);

if (action.equals("android.bluetooth.device.action.ACL_CONNECTED")) {  
    final int state = intent.getIntExtra(???); 
} 

없이 작동 다음 당신은 당신의 모든, 탱크 나에게 도움이 될 수 있기를 바랍니다.


해결책 :

BluetoothDevice device = (BluetoothDevice) intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 

int btClass = device.getBluetoothClass().getDeviceClass(); 

if (btClass == BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE|| btClass == BluetoothClass.Device.AUDIO_VIDEO_CAR_AUDIO){...} 

답변

0

당신은 BluetoothHeadset을 수신 필터와 브로드 캐스트 리시버를 등록 할 수 있습니다 .ACTION_CONNECTION_STATE_CHANGED (BluetoothHeadset 클래스는 헤드셋 및 핸즈프리 프로파일 용입니다.) 또한 매니페스트에 BLUETOOTH 권한을 추가해야합니다.

이것은 단지 연결 변경을 가져 오므로 Bluetooth API를 사용하여 연결되었거나 연결이 끊어 졌는지 확인해야합니다.

장치를 가져 오려면 BluetoothHeadset.getDevicesMatchingConnectionStates (int [] 상태)를 사용하여 연결된 모든 연결된 장치의 목록을 가져올 수 있습니다.

+0

고마워요.하지만 그건 내가 찾은 것이 아니 었습니다. – MEX