java - 用于发现蓝牙设备不工作的广播接收器

标签 java android bluetooth broadcast receiver

您好,我已按照 https://developer.android.com/guide/topics/connectivity/bluetooth 中的示例进行操作我的广播接收器可能无法正常工作。我在我的 Android 小米 A1 设备上运行 Android 8.1。

@Override
protected void onCreate(Bundle savedInstanceState) {
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

    IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
    registerReceiver(mReceiver, filter);
    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)) {
            // Discovery has found a device. Get the BluetoothDevice
            // object and its info from the Intent.
            BluetoothDevice device = (BluetoothDevice) intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
            String deviceName = device.getName();
            String deviceHardwareAddress = device.getAddress(); // MAC address
            Toast.makeText(MainActivity.this, deviceName, Toast.LENGTH_SHORT).show();
            Toast.makeText(MainActivity.this, deviceHardwareAddress, Toast.LENGTH_SHORT).show();
            mDeviceList.add(deviceHardwareAddress);
            ArrayAdapter arrayAdapter = new ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_1,mDeviceList);
            listV.setAdapter(arrayAdapter);
        }
    }
};

谢谢!

注意

对于 Android Api 21 广播接收器工作正常,我需要进行哪些更改才能使其适用于 Android 8.1?

最佳答案

在 list 中,我已添加权限和其他服务,例如启动停止蓝牙并查找配对设备工作正常...

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

关于java - 用于发现蓝牙设备不工作的广播接收器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52916048/

相关文章:

java - 如何在android中将时间戳转换为日期?

java - 如何使用 Jackson ObjectMapper 解析 java 对象的 json 响应

android - 最近添加到数据库中的记录

java - 从服务类调用并连接到 EEG 耳机时出现计时器错误

ios - 在 BluetoothManager Delegate 类中访问 ViewController 按钮

android - 蓝牙:不使用 UUID 连接

java - JIT 如何在运行时替换优化后的机器码?

java - Logback:记录器功能不在控制台中打印消息。

android - 用于移动设备的 RFID 阅读器

java - spring-boot 健康未显示详细信息(withDetail info)