`
zani
  • 浏览: 356595 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

how to use beginBackgroundTaskWithExpirationHandler

 
阅读更多
- (void) doUpdate 
{
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

        [self beginBackgroundUpdateTask];

        NSURLResponse * response = nil;
        NSError  * error = nil;
        NSData * responseData = [NSURLConnection sendSynchronousRequest: request returningResponse: &response error: &error];

        // Do something with the result

        [self endBackgroundUpdateTask];
    });
}
- (void) beginBackgroundUpdateTask
{
    self.backgroundUpdateTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
        [self endBackgroundUpdateTask];
    }];
}

- (void) endBackgroundUpdateTask
{
    [[UIApplication sharedApplication] endBackgroundTask: self.backgroundUpdateTask];
    self.backgroundUpdateTask = UIBackgroundTaskInvalid;
}

 

分享到:
评论

相关推荐

    ios播放器的后台播放功能

    这里我们将深入探讨如何使用`beginBackgroundTaskWithExpirationHandler`方法以及与之相关的AVFoundation框架来实现这一功能。 首先,让我们理解`beginBackgroundTaskWithExpirationHandler`这个方法。它是iOS的`...

    OC-后台执行任务Processing

    当需要执行后台任务时,首先调用`beginBackgroundTaskWithExpirationHandler:`注册一个后台任务,并提供一个过期处理程序。此处理程序会在系统认为应用应该结束后台任务时被调用。完成后台任务后,必须调用`...

    实战iOS7之后台多任务 - 我期望的世界 - ITeye技术网站1

    在Objective-C中,可以使用`UIApplication`的`beginBackgroundTaskWithExpirationHandler:`方法启动一个后台任务。这个方法允许你的应用在后台运行一段有限的时间(通常为3分钟),在过期处理程序中执行必要的清理...

    ios 5 demo

    "ios5 code demo"可能会展示如何注册后台模式,以及如何使用beginBackgroundTaskWithExpirationHandler和endBackgroundTask:方法来确保后台任务的顺利执行。 第六,iOS 5还引入了Twitter框架,使集成Twitter分享变...

    后台不限时间运行APP

    使用UIApplication对象的beginBackgroundTaskWithExpirationHandler申请后台执行任务,该任务只有大概3分钟的运行时间 应用申请到后台执行任务后,使用NSTimer开启一个定时任务,主要负责监控应用剩余的后台可执行...

    NSTimer 定时器示例

    在应用进入后台时,如果需要继续执行定时任务,可以考虑使用`backgroundTaskIdentifier`配合`beginBackgroundTaskWithExpirationHandler`。 总之,`NSTimer`是iOS和macOS开发中常用的一个工具,用于在特定时间间隔...

    iOS 7开发快速入门源代码

    开发者可以查看源代码中如何使用beginBackgroundTaskWithExpirationHandler和endBackgroundTask方法来管理和延长应用在后台的运行时间。 四、控制中心和通知中心 iOS 7新增了从屏幕底部上滑出现的控制中心,以及从...

    IOS应用源码之BackgroundTapTest.rar

    开发者可以使用`beginBackgroundTaskWithExpirationHandler:`来请求额外的后台执行时间。在这个项目中,我们可能会看到如何利用此API来确保任务在后台顺利完成。 4. **Background Fetch** iOS允许应用在后台时进行...

    ios 4 新特性 多任务

    2. multitasking APIs:苹果提供了多任务相关的API,如`beginBackgroundTaskWithExpirationHandler:`和`endBackgroundTask:`,帮助开发者管理后台任务。 六、影响与挑战 1. 性能和电池寿命:多任务增加了系统负载,...

    State Lab Demo代码

    1. **应用进入后台的处理**:`applicationDidEnterBackground:`中,可能包含了如何设置后台模式(例如使用`beginBackgroundTaskWithExpirationHandler:`),以允许应用在后台继续执行一段时间。 2. **应用返回前台的...

    ios后台运行

    这通过调用`beginBackgroundTaskWithExpirationHandler:`和`endBackgroundTask:` API来实现。 对于音频播放,iOS提供了一种称为`AVAudioSession`的类,用于管理音频会话。通过设置适当的类别(如`.playback`),并...

    iOS搜索手机本身音乐,并实现后台播放,下一首上一首。

    同时,确保在播放音频时调用`beginBackgroundTaskWithExpirationHandler:`方法,以保持应用在后台运行。 5. **音乐控制中心集成**:通过`MPNowPlayingInfoCenter`,你可以提供当前播放的音乐信息,使得用户可以在...

    倒计时demo

    可以使用`UIApplicationDidEnterBackgroundNotification`通知来监听应用进入后台事件,并使用`beginBackgroundTaskWithExpirationHandler`来申请后台运行时间。 8. **异常处理与边界条件**: 设计倒计时功能时,需要...

    程序进入后台保存用户数据

    使用`beginBackgroundTaskWithExpirationHandler:`可以请求一段额外的时间在后台执行任务。注意,必须在指定的超时时间内结束任务,否则系统会强制结束应用。 4. **设置应用状态**:在应用进入后台时,可能需要调整...

    ios应用源码之后台运行(multitasking)以及本地通知(local noti

    5. **后台模式API**:iOS提供了一系列的API,如`beginBackgroundTaskWithExpirationHandler:`,开发者可以利用这些API申请额外的后台运行时间来完成重要任务。 ### 本地通知(Local Notifications) 本地通知是iOS...

    IOS应用源码——多线程.zip

    9. **后台任务与App的生命周期**:iOS提供API让应用在后台执行任务,如`beginBackgroundTaskWithExpirationHandler`,但这类任务必须尽快完成,否则系统会强制结束应用。 10. **线程池与自动释放池**:线程池是一种...

    ios8后台持续定位

    在后台运行时,应用需要保持活跃状态,比如通过`beginBackgroundTaskWithExpirationHandler`来注册后台任务。 4. **处理位置更新**:通过监听`locationManager(_:didUpdateLocations:)`代理方法,可以接收到新的...

    delphi ios后台运行BackgroundFetchDemo

    在`applicationDidFinishLaunching:`方法中调用`beginBackgroundTaskWithExpirationHandler:`方法,为应用申请一段后台执行时间。同时,也需要实现`application:performFetchWithCompletionHandler:`代理方法,这里...

    iOS后台运行的类

    1. **后台任务API**:通过`UIApplication`的`beginBackgroundTaskWithExpirationHandler:`方法,可以请求一段后台执行时间。系统通常会提供大约3分钟的时间,但并不保证超过600秒。当处理完毕后,需要调用`...

    NSURLSession大文件断点续传

    为了使下载在应用进入后台时仍能继续,需在AppDelegate.m中实现`applicationDidEnterBackground:`方法,调用`beginBackgroundTaskWithExpirationHandler:`,并在`expirationHandler`中结束任务,确保有足够的后台...

Global site tag (gtag.js) - Google Analytics