检查是否已经在AndroidManifest.xml中添加了上述权限。
在MainActivity.java文件中添加以下代码,以检查蓝牙是否已被启用:
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (bluetoothAdapter == null) { // 设备不支持蓝牙 Log.e(TAG, "Device does not support Bluetooth"); } else { if (!bluetoothAdapter.isEnabled()) { // 蓝牙未启用,提示用户启用蓝牙 Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); } else { // 蓝牙已启用,可以扫描设备 } }
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); bluetoothAdapter.startDiscovery();
private final BroadcastReceiver mReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { String action = intent.getAction(); // 当发现设备时 if (BluetoothDevice.ACTION_FOUND.equals(action)) { // 从Intent中获取BluetoothDevice对象 BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); // 将设备名称和地址存储到数组中 mArrayAdapter.add(device.getName() + "\n" + device.getAddress()); } } };
// 注册广播接收器以查找在扫描期间发现的设备 IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND); registerReceiver(mReceiver, filter);