gpt4 book ai didi

android - AltBeacon 在停止蓝牙后继续扫描

转载 作者:行者123 更新时间:2023-11-30 01:42:29 25 4
gpt4 key购买 nike

我正在开发一个也使用后台扫描的应用程序。参见 Using AltBeacon: start and stop scanning from app settings

我观察到一个奇怪的行为。当我从设备设置中停止蓝牙时,应用程序会继续扫描并调用 didEnterRegion 和 didExitRegion。通知栏中的蓝牙符号消失了。我还可以在 logcat 中看到 D/BluetoothLeScanner: onScanResult() ... 条目。

这怎么可能?

最佳答案

我们在某些设备上收到了一些关于此行为的其他报告。确切原因不明,但我怀疑某些设备没有在 Android 设置 UI 中准确反射(reflect)蓝牙状态。有可能即使用户禁用蓝牙,如果某些应用程序已经在使用它,那么无论设置 UI 说什么,它都会保持打开状态。

编辑:根据评论中的反馈,听起来某些 Samsung S3 型号保留了应用程序特定的蓝牙访问权限,如果它在应用程序处于 Activity 状态之前或期间启用的话。即使您在系统 UI 中关闭了蓝牙,对于所有正在运行的使用它的应用程序,它仍然保持打开状态,无论 UI 怎么说。在蓝牙关闭后启动的其他应用程序的行为就好像它确实关闭了一样。

确认这一点的一种方法是将您的设备置于此状态,然后重新启动 Locate app for Android .如果蓝牙在应用启动时处于关闭状态,此应用将向用户显示一个对话框,告诉他们打开蓝牙。无论设置 UI 报告什么,此测试都会独立确认蓝牙是否真的关闭。

除了对上述测试结果发表评论外,了解设备的型号、Android 版本和内部版本号也会非常有用,所有这些都可以在“设置”->“关于手机”下找到。

全面披露:我是 Android Beacon Library 的首席开发人员项目。

关于android - AltBeacon 在停止蓝牙后继续扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34269418/

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