要解决Android蓝牙发现广播接收器不起作用的问题,可以按照以下步骤进行:
...
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothAdapter.ACTION_DISCOVERY_STARTED.equals(action)) {
// 蓝牙发现开始
} else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
// 蓝牙发现结束
} else if (BluetoothDevice.ACTION_FOUND.equals(action)) {
// 发现蓝牙设备
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
// 处理蓝牙设备
}
}
}
MyBroadcastReceiver receiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_STARTED);
filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
filter.addAction(BluetoothDevice.ACTION_FOUND);
registerReceiver(receiver, filter);
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
bluetoothAdapter.startDiscovery();
注意:确保已经打开了蓝牙权限和BLUETOOTH_ADMIN权限,并且蓝牙设备是可用的。
下一篇:android蓝牙服务器