2011-11-04 45 views
7

Tôi muốn bắt đầu một dịch vụ, khi một thiết bị bluetooth cụ thể được kết nối và ngừng dịch vụ này khi nó bị ngắt kết nối. Rõ ràng là tôi không muốn có một dịch vụ nền luôn kiểm tra xem thiết bị BT có được kết nối không, vì vậy tôi muốn đạt được điều này với Bộ thu.Phát sóng nếu thiết bị bluetooth đang kết nối/ngắt kết nối?

Điều này thực sự có thể? android.bluetooth.device.action.ACL_CONNECTED được đề cập đến here, nhưng dường như nó không hoạt động.

Cảm ơn!

Trả lời

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> 

Đây là các bộ lọc bạn phải thêm với bộ thu phát sóng.

ACL_CONNECTED tín hiệu khi bluetooth được kết nối và ACL_DISCONNECTED tín hiệu bluetooth ngắt kết nối

Đối với thiết bị cụ thể mà bạn phải kiểm tra intents/bối cảnh thu phát sóng

Hai phép bạn phải thêm là:

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

Tôi nghĩ điều này sẽ giải quyết được vấn đề của bạn.

+0

Điều đó có hiệu quả, cảm ơn! Tôi nghĩ ACL_CONNECTED sẽ chỉ dành cho thiết bị âm thanh ^^ – Force

+0

Chào mừng bạn của tôi, bạn của tôi –

+0

Chỉ trong trường hợp ai đó đang sử dụng mã này, ACL_DISCONNECT_REQUESTED và ACL_DISCONNECTED không được gọi nếu người dùng tắt Bluetooth! – Force

Các vấn đề liên quan