蓝牙扫描工作没有蓝牙打开Android

Sam*_*Sam 6 android bluetooth bluetooth-lowenergy

我正在创建一个具有蓝牙低功耗的应用程序.我发现有一件有趣的事情.我知道,API level 23除了蓝牙之外,你需要为位置提供权限才能使扫描工作.但即使从设置中关闭蓝牙,我也不知道你可以扫描设备.我关闭了蓝牙(但位置仍然打开)但我仍然可以从扫描结果中看到设备.

这是android中的一个错误,其中android内部使用蓝牙而没有用户意识到它?或者这是在我找不到的地方记录的.

tir*_*r38 7

不,这是完全正常的。在 Android M 中,他们调整了权限/添加了使用蓝牙进行定位的功能。为此,您的手机只需侦听其他BT 设备即可。它不需要自行广播。这是一个较小的隐私问题,因为您不会将自己的存在泄露给其他 BT 设备。

您可以在Android Police上阅读更多相关信息

我承认面向用户的描述很奇怪:“...扫描蓝牙设备,即使蓝牙关闭。” 显然 BT 天线并没有真正关闭。必须打开它才能侦听其他 BT 设备。但在软件层面,BT 堆栈并没有广播自己的地址。

由于 BT 天线仍然打开,因此尚不清楚这是否或可以节省多少电池寿命。