Android Q(API 29)发现蓝牙设备(无需启用位置)
创始人
2024-08-15 03:30:20
0

在Android Q(API 29)及更高版本中,由于隐私设置的变化,需要启用位置权限才能发现蓝牙设备。以下是关于如何在不启用位置权限的情况下发现蓝牙设备的解决方法的代码示例:

  1. 在AndroidManifest.xml文件中添加以下权限:


  1. 在你的Activity或Fragment中,添加以下代码:
private BluetoothAdapter bluetoothAdapter;

// 初始化蓝牙适配器
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

// 检查设备是否支持蓝牙
if (bluetoothAdapter == null) {
    // 设备不支持蓝牙
} else {
    // 检查蓝牙是否已启用
    if (!bluetoothAdapter.isEnabled()) {
        // 如果蓝牙未启用,请求启用蓝牙
        Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
        startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
    } else {
        // 蓝牙已启用,开始发现设备
        startBluetoothDiscovery();
    }
}

// 开始发现设备
private void startBluetoothDiscovery() {
    // 注册广播接收器以接收发现的蓝牙设备
    IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
    registerReceiver(bluetoothReceiver, filter);
    
    // 开始发现设备
    bluetoothAdapter.startDiscovery();
}

// 广播接收器,用于接收发现的蓝牙设备
private final BroadcastReceiver bluetoothReceiver = new BroadcastReceiver() {
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (BluetoothDevice.ACTION_FOUND.equals(action)) {
            // 处理发现的蓝牙设备
            BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
            Log.d("Bluetooth", "Device found: " + device.getName() + " - " + device.getAddress());
        }
    }
};

// 在Activity的onDestroy方法中注销广播接收器
@Override
protected void onDestroy() {
    super.onDestroy();
    unregisterReceiver(bluetoothReceiver);
}

请注意,尽管在代码中没有请求位置权限,但用户仍然可以手动启用位置权限以提高蓝牙设备的发现成功率。此外,由于Android Q中的更改,即使启用了位置权限,也无法直接通过蓝牙扫描获取到设备的位置信息。

相关内容

热门资讯

推荐一款!wepoker透视苹... 1、推荐一款!wepoker透视苹果系统,悦扑克脚本,教你攻略(有挂软件)。2、wepoker透视苹...
实测分享!hhpoker可以控... 实测分享!hhpoker可以控制吗,aapoker如何设置胜率,必赢方法(有挂攻略);支持多人共享记...
揭秘!we poker辅助器,... 揭秘!we poker辅助器,hhpoker哪个俱乐部靠谱,透视教程(有挂方法)1、许多玩家不知道h...
科普分享!aapoker辅助器... 科普分享!aapoker辅助器怎么用,德州局透视脚本免费版下载手机版,微扑克教程(有挂教程);支持2...
今日公布!hhpoker怎么破... 今日公布!hhpoker怎么破解,wepoker透视脚本是什么,规律教程(有挂神器);1.wepok...
交流学习经验!wepoker插... 1、交流学习经验!wepoker插件辅助,wepoker一直输的号能继续打吗,技巧教程(有挂软件)2...
实测交流!hhpoker是真的... 实测交流!hhpoker是真的还是假的,菠萝辅助器免费版的特点,安装教程(有挂方法)科技教程也叫必备...
玩家必看科普!德普之星app安... 此外,数据分析德州(德普之星app安卓版破解版)辅助神器app还具备辅助透视行为开挂功能,通过对客户...
记者揭秘!aapoker发牌逻... 记者揭秘!aapoker发牌逻辑,哈糖大菠萝软件下载,可靠技巧(有挂透视);1分钟了解详细教程(微信...
大家学习交流!wepoker线... 大家学习交流!wepoker线上大神,wpk私人辅助,科技教程(有挂方法)1、点击下载安装,微扑克w...