2

我正在使用 Apple 核心蓝牙示例。外围设备在一台 iphone 设备的前台运行。我在一台设备上运行 cbcentral 客户端应用程序。当两个应用程序都处于前台条件时配对良好。我需要的是当我在其中运行客户端 cbcentral 客户端时background ,没有调用我提到的本地通知的委托方法。通知不是以后台模式出现的。我可以像使用 NSUrlConnection 一样使用 NSOperation 来运行蓝牙委托方法吗?它可以在最新的 iOS 版本中使用吗?我检查了它,但它不起作用。

编码:

-(void) peripheral:(CBPeripheral *)aPeripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error  
 {

          ..............
          ...............
         UILocalNotification *localNotif = [[UILocalNotification alloc] init];

         localNotif.fireDate = [itemDate dateByAddingTimeInterval:-(minutesBefore*60)];

         localNotif.timeZone = [NSTimeZone defaultTimeZone];

         localNotif.alertBody =  @"hi";

         localNotif.alertAction = NSLocalizedString(@"View Details", nil);

         localNotif.soundName = UILocalNotificationDefaultSoundName;


         [[UIApplication sharedApplication] scheduleLocalNotification:localNotif];

        ..............
 }
4

1 回答 1

1

我相信您正在寻找的是UIBackgroundModes 这里的核心蓝牙。

此外,您可能想查看核心蓝牙和后台:检测设备并触发操作,即使在后台模式下几天? CoreBluetooth 应用程序到底能在后台做什么?

核心蓝牙背景模式适用于 iOS 5 或更高版本。

于 2013-08-07T19:36:40.873 回答