如何在控制中心检测蓝牙真正关闭(或蓝牙开关按钮关闭)

Posted

技术标签:

【中文标题】如何在控制中心检测蓝牙真正关闭(或蓝牙开关按钮关闭)【英文标题】:How to detect the bluetooth really close (or bluetooth switch button close) in control center 【发布时间】:2021-07-03 00:33:29 【问题描述】:

我需要在 ios 的控制中心检测蓝牙是否真的关闭。

但我试图找到 API。在委托方法中无法检测到蓝牙在控制中心是否真的关闭。

 -(void) centralManagerDidUpdateState:(CBCentralManager *)central
 switch (central.state) 
    case CBManagerStateUnknown:
         break;
    case CBManagerStateResetting:
         break;
    case CBManagerStateUnsupported:
         break;
    case CBManagerStateUnauthorized:
         break;
    case CBManagerStatePoweredOff:
         break;
    case CBManagerStatePoweredOn:    
        break;
    default:
        break;

当我在这种状态下断开蓝牙时(下图),蓝牙并没有真正关闭,但API会进入“CBManagerStatePoweredOff”开关情况。

这种状态不能告诉我蓝牙真的关闭了(比如设置页面蓝牙按钮开关关闭)

如何在控制中心检测蓝牙的状态。

非常感谢。

【问题讨论】:

【参考方案1】:

您必须为 CBCentralManager

实现委托

【讨论】:

以上是关于如何在控制中心检测蓝牙真正关闭(或蓝牙开关按钮关闭)的主要内容,如果未能解决你的问题,请参考以下文章

iPhone12控制中心关闭无线局域网和蓝牙是真的关闭吗

检测用户是不是打开或关闭了 Wifi 或蓝牙 [关闭]

如何检测用户的iPhone关闭或开启的蓝牙?

苹果手机无线和蓝牙怎么关闭自动开启

iOS13隐藏的小技巧

ipad悬浮球蓝牙为啥关不掉