检查蓝牙状态

Posted

技术标签:

【中文标题】检查蓝牙状态【英文标题】:Checking Bluetooth Status 【发布时间】:2011-06-27 14:44:40 【问题描述】:

有没有办法以编程方式检查 ios 设备上是否启用了蓝牙?

我目前正在使用 Objective-C 开发本机应用程序,并使用 GKSession 和自定义对等选择器而不是 GK Peer Picker

是否可以在加载时从“设置”应用程序中获取值或尝试通过蓝牙发送数据包以查看是否失败?似乎GKSession 甚至不允许开发人员区分数据是通过 Wifi 还是通过蓝牙发送的。我不想在应用程序中启用或禁用蓝牙;我只是想检查它的状态。

【问题讨论】:

检查***.com/questions/4955007/… 我不确定向 OP 推荐私有框架是个好主意。他可能想在未来的某个日期提交他的申请,这会让他被拒绝。 @Jhaliya,很遗憾我不能使用任何私有 API,因为应用程序将被推送到商店。我应该在我的 OP 中注意到这一点。 【参考方案1】:

不幸的是(愚蠢的?)没有办法做到这一点。对不起。如果您想使用与您的问题相关联的私有 SDK 方法,当然可以,但 Apple 在提交时静态分析代码,因此您不太可能通过审批流程获得它。

我强烈建议您向 Apple 提出功能请求,要求在未来的更新中提供该功能。您曾经能够使用 GameKit 检查蓝牙,但当 GameKit 开始支持 WiFi 连接和蓝牙时,该功能被删除了。

【讨论】:

这不是我想听到的,但您似乎是对的。我会提出一个功能请求,但我不希望它得到太多。谢谢。【参考方案2】:

您现在可以使用 iOS 7 中的 CBCentralManager 进行检查,并使用 CBCentralManagerOptionShowPowerAlertKey 选项集对其进行初始化。

在这里发布:http://chris.cm/determine-whether-bluetooth-is-enabled-on-ios-passively/

【讨论】:

以上是关于检查蓝牙状态的主要内容,如果未能解决你的问题,请参考以下文章

检查蓝牙是不是在 Android 上处于活动状态?

如何检查android中其他设备的蓝牙是不是打开/关闭?

为啥蓝牙搜索不到设备 ?

在没有系统提示的情况下检查蓝牙关闭

Flutter 应用需要检查蓝牙和位置是不是启用

(iOS) 如何检查 iPhone 的配对蓝牙设备?