Tôi đang cố gắng tìm tất cả các thiết bị bluetooth có sẵn trong một phạm vi. Nhưng tôi nhận được chỉ có một thiết bị tôi đang sử dụng nó trong thread trong phương pháp chạy. Tôi đã kiểm tra nhiều liên kết cho vấn đề này trên nó nhưng không thể giải quyết vấn đề này. Đây là mã của tôiCách tìm thiết bị bluetooth có sẵn trong phạm vi?
public void run() {
if(service != null) {
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
service.registerReceiver(this.bReceiver, filter);
bluetooth.startDiscovery();
}
}
class BluetoothReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Set<BluetoothDevice> pairedDevices = bluetooth.getBondedDevices();
String action = intent.getAction();
if (pairedDevices.size() > 0) {
for (BluetoothDevice device : pairedDevices) {
int rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI,Short.MIN_VALUE);
Log.d(TAG, device.getName());
}
}
if(BluetoothDevice.ACTION_FOUND.equals(action)) {
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
String uuid = intent.getStringExtra(BluetoothDevice.EXTRA_UUID);
int rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI,Short.MIN_VALUE);
Log.d(TAG, device.getName());
}
}
}
Trong Ngoài ra tôi muốn giá trị RSSI của từng thiết bị tìm thấy, nhưng xin vui lòng bỏ qua các cú pháp
Nhưng nếu bạn nhìn thấy mã của tôi ... nó là giống như của bạn. ..i không thấy bất kỳ sự khác biệt nào thì tại sao mã của tôi không hoạt động –
Chính xác thì mã nào không hoạt động? Đang onReceive (...) được gọi là? –
vấn đề đôi khi ứng dụng bị treo sau khi tiếp cận trong thiết bị phát sóng này không biết tại sao và vấn đề lớn khác là tôi chỉ nhận được một thiết bị bluetooth hoạt động thay vì tôi muốn tất cả thiết bị bluetooth hoạt động avaible ... –