2015-10-28 41 views
13

Tôi có thể xem hai trạng thái trong thiết bị Bluetooth trong Android. 1. Đã ghép nối 2. Đã kết nối. -
Tôi đang cố gắng kết nối thiết bị Bluetooth hiện đang được kết nối trong Android. Nhưng tôi chỉ nhận được danh sách thiết bị được ghép nối từ adapter.getBondedDevices(); Tôi cần thiết bị hiện được kết nối. Làm thế nào tôi có thể nhận được điều này. Xin ai đó giúp tôi đạt được điều này. Cảm ơn trước.Thiết bị bluetooth hiện đang kết nối android

+0

'' sử dụng quyền này cũng kiểm tra liên kết này đến http://stackoverflow.com/questions/14834318/android-how-to-pair-bluetooth-devices-programmatically – Android

+0

Câu hỏi không hoàn toàn rõ ràng đối với tôi . Chính xác là bạn đang làm cái gì? Bạn tạo kết nối btlDevice khi thực hiện btlDevice.CreateRfcommSocketToServiceRecord (MY_UUID); Ngoài ra, hệ thống sử dụng btlDevice được kết nối lần cuối. Xin vui lòng chi tiết hơn những gì bạn làm. – Majkl

+0

Kiểm tra https://stackoverflow.com/questions/26341718/connection-to-specific-hid-profile-bluetooth-device –

Trả lời

3

Thêm này trong file manifest của bạn

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

Thêm Class này

public class MyBluetoothReceiver extends BroadcastReceiver { 
@Override 
public void onReceive(Context context, Intent intent) { 
    String action = intent.getAction(); 

    // When discovery finds a device 
    if (BluetoothDevice.ACTION_ACL_CONNECTED.equals(action)) { 

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

    Toast.makeText(getApplicationContext(),device.getName() +" CONNECTED",Toast.LENGTH_LONG).show(); 

    } else if (BluetoothAdapter.ACL_DISCONNECTED 
      .equals(action)) { 

    } 
} 
} 
+0

Điều này sẽ chỉ cung cấp thông báo khi thiết bị được Kết nối. Điều gì về thiết bị đã được kết nối và sau đó bạn khởi chạy ứng dụng của mình.? Cách nhận các thiết bị được kết nối? – usman

6

Đó là khá thẳng về phía trước. Android BluetoothManager có phương pháp

getConnectedDevices()

thực hiện như:

BluetoothManager manager = (BluetoothManager) getSystemService(BLUETOOTH_SERVICE); 
    List<BluetoothDevice> connected = manager.getConnectedDevices(GATT); 
    Log.i("Connected Devices: ", connected.size()+""); 

Nếu bạn muốn biết thêm chi tiết về các thiết bị kết nối thì bạn có thể sử dụng phương pháp Danh sách trên có đặt nó vào cho lặp lại và nhận các chi tiết bên trong của từng thiết bị Bluetooth được kết nối.

Logs:

12-20 18:04:09.679 14933-14933/com.salman.dleague.blescanning I/Connected Devices:: 2 

Hy vọng hữu ích :)

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