菜鸟教程小白 发表于 2022-12-11 18:47:05

iOS11蓝牙有点奇怪


                                            <p><p>当我在设置中关闭蓝牙时,我使用 <code>CBCentralManager</code> 来获取蓝牙的状态,如下所示:</p>

<pre><code>self.bluetoothManager = [ initWithDelegate:self queue:nil];
</code></pre>

<p>系统将显示如下警告:<a href="/image/y32Og.jpg" rel="noreferrer noopener nofollow">system alert</a> </p>

<p>蓝牙的当前状态是<code>CBManagerStatePoweredOff</code>。但是当我在控制中心关闭蓝牙时,即使蓝牙的当前状态仍然是 <code>CBManagerStatePoweredOff</code>,此警报也不再显示。 </p>

<p>在这种情况下如何提醒用户开启蓝牙? </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您可以通过实现以下 <strong>delegate</strong> 方法来提醒用户。</p>

<pre><code>//Bluetooth state delegation
#pragma mark - CBCentralManagerDelegate

- (void)centralManagerDidUpdateState:(CBCentralManager *)central
{
    NSString *stateString = nil;
    switch(self.CBManager.state)
    {
      case CBManagerStateResetting:
      stateString = @&#34;The connection with the system service was momentarily lost, update imminent.&#34;;
      break;
      case CBManagerStateUnsupported:
      stateString = @&#34;The platform doesn&#39;t support Bluetooth Low Energy.&#34;; break;
      case CBManagerStateUnauthorized: stateString = @&#34;The app is not authorized to use Bluetooth Low Energy.&#34;;
      break;
      case CBManagerStatePoweredOff:
      stateString = @&#34;Bluetooth is currently powered off.&#34;;
      break;
      case CBManagerStatePoweredOn:
      ;
      ;
      break;
      case CBManagerStateUnknown:
      stateString = @&#34;State unknown, update imminent.&#34;;
      break;
    }
    NSLog(@&#34;%@&#34;, stateString);
}
</code></pre>

<p>现在应该自动通知用户。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iOS11蓝牙有点奇怪,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/46426163/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/46426163/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS11蓝牙有点奇怪