2011-11-04 41 views
7

特定のBluetoothデバイスが接続されているときにサービスを開始し、接続が切断されたときにこのサービスを停止します。 明らかに、BTデバイスが接続されているかどうかを常時チェックしているバックグラウンドサービスを望んでいないので、これをReceiverで実現したいと考えています。ブルートゥースデバイスが接続/切断されている場合にブロードキャストしますか?

これは実際に可能ですか? 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信号は、Bluetoothを接続しているときACL_DISCONNECTED信号あなたが追加する必要が2人の許可がある

放送受信機に意図/コンテキストを確認する必要があり、特定のデバイス用のBluetooth切断

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

これはあなたの問題を解決するはずだと思います。

+0

ありがとうございました!私はACL_CONNECTEDがオーディオデバイスのためだけだと思った^^ – Force

+0

あなたの歓迎マイフレンド –

+0

もし誰かがこのコードを使用している場合、ユーザーがBluetoothをオフにした場合、ACL_DISCONNECT_REQUESTEDとACL_DISCONNECTEDは呼び出されません! – Force

関連する問題