2011-11-04 2 views
7

특정 bluetooth 장치가 연결되었을 때 서비스를 시작하고 연결이 끊어진 경우이 서비스를 중지하고 싶습니다. 분명히 BT 장치가 연결되어 있는지 항상 확인하는 백그라운드 서비스를 원하지 않기 때문에 수신기로이를 수행하려고합니다.블루투스 장치가 연결/연결 해제 중일 때 브로드 캐스팅됩니까?

실제로 가능합니까? android.bluetooth.device.action.ACL_CONNECTEDhere으로 언급되었지만 분명히 작동하지 않았습니다.

감사합니다.

답변

17
<intent-filter> 
    <action android:name="android.bluetooth.device.action.ACL_CONNECTED" /> 
    <action android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" /> 
    <action android:name="android.bluetooth.device.action.ACL_DISCONNECTED" /> 
</intent-filter> 

다음은 브로드 캐스트 수신기에 추가해야하는 필터입니다.

ACL_CONNECTED 신호는 블루투스가 연결되면 ACL_DISCONNECTED 신호는 추가해야하는 두 가지 권한이

방송 수신기에 의도/컨텍스트를 확인해야 특정 장치에 블루투스 연결 해제

:

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
<uses-permission android:name="android.permission.BLUETOOTH" /> 

이 문제가 해결되어야한다고 생각합니다.

+0

감사합니다. ACL_CONNECTED는 오디오 장치에만 해당 될 것이라고 생각했습니다 ^^ – Force

+0

환영합니다. 내 친구 –

+0

누군가이 코드를 사용하고있는 경우 사용자가 블루투스를 끄면 ACL_DISCONNECT_REQUESTED 및 ACL_DISCONNECTED가 호출되지 않습니다! – Force

관련 문제