Android 10中的蓝牙串口是否有所改变?

问题描述 投票:0回答:1

我有一个Android 10上的Google Pixel 3a XL,它无法使用蓝牙2.0与蓝牙SPP模块建立良好的蓝牙串行连接。但是,我可以使用蓝牙1.2连接到模块。我无法确定这是否与所有Android 10相关,或与Pixel 3产品有关。

我正在尝试通过蓝牙从GPS接收器获取GPS位置数据。当我尝试使用createInsecureRfcommSocketToServiceRecord()建立连接时,串行连接实际上会出现1-5秒。我确实从GPS接收器中获得了一些数据,但是缺少很多数据块。然后,数据停止流动。除了我的应用程序外,我还用其他几个蓝牙串行终端程序进行了测试,它们都具有相同的结果-我得到了一些数据,然后停止了。

我可以将同一蓝牙模块与运行Android 9的其他Android设备一起使用,效果很好。我也可以从Windows连接到此蓝牙模块,它也可以正常工作。

我有一个较旧的第二个蓝牙模块(运行蓝牙v1.2),令人惊讶的是它实际上与Pixel兼容。

其他人是否在Android 10上看到过蓝牙串口问题?

android bluetooth rfcomm spp
1个回答
0
投票

Android 10发生的变化是,除了权限之外,您还需要启用位置才能连接到某些BLE设备。我不确定这是否对您有帮助,但是可以让您了解当前遇到的问题。

“某些电话,蓝牙,Wi-Fi API需要FINE位置许可如果您的应用面向Android 10或更高版本,则它必须具有ACCESS_FINE_LOCATION权限,才能在Wi-Fi,Wi-Fi Aware或Bluetooth API中使用多种方法。以下各节列出了受影响的类和方法。“

https://developer.android.com/about/versions/10/privacy/changes

© www.soinside.com 2019 - 2024. All rights reserved.