gpt4 book ai didi

android - 由于棉花糖使用 BluetoothAdapter.getDefaultAdapter().startDiscovery() 更新蓝牙发现;被打破

转载 作者:可可西里 更新时间:2023-11-01 19:09:43 27 4
gpt4 key购买 nike

我有一个使用蓝牙并连接到设备的应用程序,找不到任何使用 BluetoothAdapter.getDefaultAdapter().startDiscovery() 的设备;它在发现之前运行良好。也试过其他应用程序,它也不适用于其他应用程序。但是我尝试配对的设备 (Arduino bt-module) 可以在 Android 设置中找到。知道我可以尝试什么吗?我实现了所有如 http://developer.android.com/guide/topics/connectivity/bluetooth.html 中所述的内容并且它在更新之前有效。

最佳答案

蓝牙适配器已在 Android 6.0 中更改

需要设置权限ACCESS_FINE_LOCATION或者ACCESS_COARSE_LOCATION权限需要使用 BluetoothLeScanner.startScan() 方法开始扫描。

以下是更改日志中的描述:

为了向用户提供更好的数据保护,在 Android 6.0 中,Android 移除了使用 Wi-Fi 和蓝牙 API 的应用对设备本地硬件标识符的编程访问。 WifiInfo.getMacAddress() 和 BluetoothAdapter.getAddress() 方法现在返回一个常量值 02:00:00:00:00:00。

要通过蓝牙和 Wi-Fi 扫描访问附近外部设备的硬件标识符,您的应用现在必须具有 ACCESS_FINE_LOCATION 或 ACCESS_COARSE_LOCATION 权限:

WifiManager.getScanResults()
BluetoothDevice.ACTION_FOUND
BluetoothLeScanner.startScan()

注意:当运行 Android 6.0(API 级别 23)的设备启动后台 Wi-Fi 或蓝牙扫描时,外部设备可以看到该操作源自随机 MAC 地址。

您可以从此链接获取更多详细信息:<强> http://developer.android.com/about/versions/marshmallow/android-6.0-changes.html

关于android - 由于棉花糖使用 BluetoothAdapter.getDefaultAdapter().startDiscovery() 更新蓝牙发现;被打破,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33052811/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com