`

iPhone允许在后台运行10分钟时间 这样你在后台可以做一些事情

 
阅读更多
UIBackgroundTaskIdentifier _bgTask;

- (void)applicationDidEnterBackground:(UIApplication *)application 

    UIDevice* device = [UIDevice currentDevice]; 
   
    BOOL backgroundSupported = NO; 
   
    if ([device respondsToSelector:@selector(isMultitaskingSupported)]) 
    {    
        backgroundSupported = device.multitaskingSupported; 
    } 
    if (backgroundSupported && _bgTask==UIBackgroundTaskInvalid && [self needBackgroundRunning]) 
    { 
        UIApplication*    app = [UIApplication sharedApplication]; 
       
        _bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ 
            NSLog(@"background task %d ExpirationHandler fired remaining time %d.",_bgTask, (int)app.backgroundTimeRemaining);
           
            NSLog(@"aaa");
        }];  
        // Start the long-running task and return immediately. 
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
            // Do the work associated with the task. 
            NSLog(@"background task %d start time %d.", _bgTask, (int)[app backgroundTimeRemaining]); 
           
            
           
            while (app.applicationState==UIApplicationStateBackground && _bgTask!=UIBackgroundTaskInvalid && [self needBackgroundRunning] && [app backgroundTimeRemaining] > 10)  
            { 
                [NSThread sleepForTimeInterval:1]; 
            NSLog(@"background task %d left left  time %d.", _bgTask, (int)[app backgroundTimeRemaining]); 
               
                [self test];
               
                //[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(test) userInfo:nil repeats:YES];
            } 
           
            NSLog(@"background task %d finished.", _bgTask);     
            [app endBackgroundTask:_bgTask]; 
            _bgTask = UIBackgroundTaskInvalid;   
           
           
        });      
    } 
   
    NSLog(@"!Enter Background"); 
   


- (void) test
{
    NSLog(@"sssssssssss");
}
分享到:
评论

相关推荐

    iphone backgrounder 后台软件

    标题中的“iPhone Backgrounder 后台软件”指的是一个iOS平台的应用程序,它允许用户在iPhone上实现多任务处理,使某些应用程序能在后台继续运行。在早期的iOS系统版本中,苹果并未提供原生的多任务功能,而...

    iOS后台运行的几种方式例子

    10. **遵守App Store审核指南**:苹果对后台运行有严格的政策,确保你的应用不会滥用后台权限,否则可能在App Store审核阶段被拒绝。 通过合理利用上述技术,开发者可以在保证用户体验和电池寿命的同时,实现iOS...

    iphoneqq在线永久版

    这通常是指通过特定的技术手段或第三方软件,使得QQ应用在iPhone设备上可以长时间保持在线状态,即使手机屏幕关闭或后台运行,也能及时接收和发送消息。这种版本相较于普通版,更注重稳定性和持久的在线体验。 实现...

    iPhone在线

    1. **iOS后台应用刷新**:iPhone系统允许应用程序在后台运行,以保持实时更新。用户可以在“设置”>“常规”>“背景应用刷新”中启用或关闭此功能,以控制QQ是否能在后台保持活跃。 2. **iMessage与QQ**:尽管...

    IOS下使用AVAudioPlayer播放MP3(支持后台播放)

    在iOS平台上,开发音频播放功能是一项常见的任务,特别是在开发音乐应用或者有背景音频需求的应用时。...确保在项目中正确地实现这些步骤,你的音频播放功能就能在用户的iPhone或iPad上流畅运行,即使是在后台模式。

    让iOS6后台更加人性化插件教程

    传统的iOS系统只能通过一系列图标来展示后台运行的应用程序,这种展示方式虽然直观,但信息量有限,并不能准确反映每个应用的当前状态。而Auxo通过卡片式设计,为每个后台应用提供了更加丰富的视觉信息。用户能够...

    iphone 模拟器

    在IT领域,模拟器是一种软件,它可以复制一个硬件平台的行为,使得原本为另一种设备设计的软件可以在当前设备上运行。iPhone模拟器就是这样的工具,它在Windows或Mac OS等桌面操作系统上创建了一个虚拟的iOS环境。...

    卡Iphone永久在线

    这通常涉及到设置iPhone的网络和应用后台运行策略,以及可能的越狱技巧。在iOS系统中,应用程序在后台时会被系统限制网络活动以节省电池和资源,但通过特定设置或第三方工具,用户可能能够绕过这些限制。 首先,...

    卡iphone在线软件

    这类软件可以在电脑上操作,通过数据线连接iPhone,实现远程管理和优化。 在使用这类软件之前,确保你的电脑上安装了相应的驱动程序,并且iPhone已开启USB调试模式,以允许电脑对其进行访问。常见的卡iPhone在线...

    卡iphoneQQ永久在线

    标题“卡iphoneQQ永久在线”指的是一个针对苹果手机(iPhone)的特定技术,旨在让QQ应用保持长时间在线状态,即使设备被锁定或者在后台运行也能持续接收消息。这个技术可能是通过优化QQ设置、利用系统资源管理策略...

    iphone QQ 在线软件

    描述中的“iphone QQ 在线软件”可能是在强调用户可以在iPhone上保持QQ的在线状态,这意味着用户可以随时接收和发送消息,与朋友、家人或同事保持联系。这通常涉及到QQ应用的后台运行机制,因为有些手机设置或系统...

    永久iphone在线

    在“设置”>“电池”中,可以查看哪些应用消耗了最多的电量,并决定是否允许它们在后台运行。同时,开启低电量模式可以在电量不足时自动优化电池使用。 接着,我们讨论iOS的后台应用刷新功能。在“设置”>“通用”>...

    iPhone多任务执行源码 Demo

    在iOS平台上,多任务执行是一项重要的功能,它允许应用程序在后台继续执行特定的任务,即使用户已经切换到了其他应用或者锁屏。"iPhone多任务执行源码 Demo" 是一个专门展示如何在iOS系统中实现这一功能的示例项目。...

    卡iphoneQQ在线

    在iPhone的设置中,用户可以启用此选项,允许QQ在后台定期检查新消息,但这并不保证始终在线,因为iOS系统仍可能根据需要暂停该功能。 另一种可能是利用第三方工具或特定的设置调整,如使用第三方助手软件或者越狱...

    iPhoneQQ手机在线

    通过这样的方法,用户可以在没有iPhone的情况下,仍然能在电脑上享受QQ的所有功能,这对于那些经常使用QQ但又不希望在手机和电脑之间切换的人来说非常方便。同时,这也为那些无法购买或使用iPhone的用户提供了一种...

    IOS应用源码——一些iPhone开源项目代码Backgrounder_20081207.zip

    "Backgrounder" 是一个针对iPhone的开源项目,它允许应用程序在后台运行,这在iOS的早期版本中尤其引人注目,因为苹果的原生系统策略通常限制了非系统应用的后台执行。下面将详细介绍这个开源项目以及相关的iOS开发...

    卡永久iphoneQQ在线软件

    标题中的“卡永久iphoneQQ在线软件”指的是使用特定的技术或工具让iPhone上的QQ始终保持在线状态,即使设备处于锁屏或后台运行状态也能实现。这种软件通常通过修改QQ客户端的某些设置或者利用系统层面的优化来实现这...

    卡iPhone在线

    1. **iPhone网络设置**:讲解如何在iPhone的系统设置中调整网络参数,例如关闭自动睡眠,确保数据始终开启,或者设置特定的应用程序(如QQ)在后台运行时保持数据连接。 2. **QQ应用设置**:可能包括如何在QQ内部...

    iphone notification 使用实例

    在iOS开发中,推送通知(Notification)是应用与用户交互的一种常见方式,它可以在应用前台、后台甚至未运行时向用户发送消息。本教程将基于“iphone notification 使用实例”这一主题,详细介绍如何在iPhone上实现...

    IPHONEQQ登录

    `iphoneqq.exe`可能是一个专门为iPhone用户设计的QQ登录辅助工具或模拟器,它允许用户在电脑上模拟iPhone环境登录QQ,这样可以避免在手机上操作的不便。然而,需要注意的是,在非官方渠道下载和执行`.exe`文件可能...

Global site tag (gtag.js) - Google Analytics