当我的手机蓝牙在 Android 应用程序中关闭时,我可以识别信标吗?

Posted

技术标签:

【中文标题】当我的手机蓝牙在 Android 应用程序中关闭时,我可以识别信标吗?【英文标题】:Can I recognize beacons when my phone Bluetooth is turned off in the Android application? 【发布时间】:2020-04-17 02:11:26 【问题描述】:

目前,android 应用可以识别信标并发送和接收数据。 即使关闭蓝牙,有没有办法识别信标并发送和接收数据? 是否可以打开蓝牙,发送和接收数据,当检测到信标时再次关闭?

【问题讨论】:

【参考方案1】:

必须打开蓝牙才能检测 Android 上的信标。但是,通过声明 BLUETOOTH_ADMIN 权限应用可以以编程方式打开和关闭蓝牙。由于扫描信标需要此权限,无论如何,这很容易做到。所以,是的,您可以打开蓝牙,扫描信标,然后在完成后将其关闭。

在实践中,您可能想要这样做的原因很少见,因为蓝牙开启使用最少的电池和系统资源。这样做的可能动机可能是:

    用户已关闭蓝牙。需要暂时使用蓝牙的应用可能会暂时将其打开,然后再将其关闭以尊重用户意愿。

    关闭并重新打开蓝牙有时可以清除蓝牙堆栈中的错误状态。

    关闭蓝牙有一些(有争议的)隐私优势。仅短暂打开它可能有助于保留其中一些隐私优势。

【讨论】:

以上是关于当我的手机蓝牙在 Android 应用程序中关闭时,我可以识别信标吗?的主要内容,如果未能解决你的问题,请参考以下文章

单击抽屉的任何项目而不在android中关闭时更改导航抽屉内的视图和内容

以编程方式在 C 中检查 NIC 在 linux 中关闭时是不是有链接

当离子菜单按钮在离子中关闭时如何触发功能

如果蓝牙在 Android 应用程序中关闭,则通知

如何使数据访问用户?当两台服务器都在 MIRRORING 中关闭时

Android 6 - 找到蓝牙设备时手机崩溃