我在 SO 上的其他帖子中读到,无法以编程方式禁用蓝牙。
这有意义吗?当我订阅(谷歌)附近的 api 时,我以编程方式启用它。
这是我的代码。取消订阅不会禁用 BT。
还有其他方法可以实现吗?
/// Stops publishing/subscribing.
public func unsubscribeNearbyApi() {
subscription = nil
// self.messageMgr?.removeObserver(<#T##observer: NSObject##NSObject#>, forKeyPath: <#T##String#>)
// self.messageMgr?.removeObserver(<#T##observer: NSObject##NSObject#>, forKeyPath: <#T##String#>, context:<#T##UnsafeMutablePointer<Void>#>)
}
/// Starts scanning for nearby devices that are publishing
// their names.
func subscribeNearbyApi() {
let params: GNSSubscriptionParams = GNSSubscriptionParams.init(
messageNamespace: "inline-beacon",
type: "line",
strategy:
GNSStrategy.init(paramsBlock: { (params: GNSStrategyParams!) -> Void in
params.includeBLEBeacons = true;
}))
if (self.messageMgr == nil)
{
getPermissions()
}
if let messageMgr = self.messageMgr {
subscription = messageMgr.subscriptionWithParams(params,
messageFoundHandler:{[unowned self] (message: GNSMessage!) -> Void in