具有特定时间间隔的CoreBluetooth后台任务

时间:2016-05-12 10:04:16

标签: ios iphone core-bluetooth background-task

我有App与蓝牙设备通信,获取数据和在应用程序中显示。

我希望在App处于后台时执行相同的处理。每10分钟执行一个方法,扫描设备,连接设备,读取信息,然后更新UI。

  • 我启用了后台模式"使用蓝牙LE配件"。
  • "信息"文件存在" App使用Corebluetooth"进行通信选项。

我添加了" applicationDidEnterBackground" Method.It执行最多3分钟然后停止。

- (void)applicationDidEnterBackground:(UIApplication *)application {

NSString* accessToken = [[WSUtils sharedObject] getAccessToken];
if(accessToken != nil)
{
    [[WSBlueToothDevicesViewController sharedObject] registerDeviceSearchTimer];
}

UIApplication *app = [UIApplication sharedApplication];
UIBackgroundTaskIdentifier bgTask = 0;
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{

    [app endBackgroundTask:bgTask];
}];

NSLog(@"backgroundTimeRemaining: %.0f", [[UIApplication sharedApplication] backgroundTimeRemaining]);

}

有没有人知道如何在特定时间间隔的背景下执行方法?

0 个答案:

没有答案