zoukankan      html  css  js  c++  java
  • iOS开发简单的实现后台任务(诸如后台播放音乐,定时器,后台定位等)

    最多能运行多长时间,没挑战过极限,具体能保持多长时间需要自己测试下。

    注意:用真机测试

    直接上代码

    在appdelegate的.m中的进入后台时加入一些代码操作即可

    1. /** 
    2.  *  当app进入后台时调用 
    3.  */  
    4. - (void)applicationDidEnterBackground:(UIApplication *)application  
    5. {  
    6.     /** 
    7.      *  app的状态 
    8.      *  1.死亡状态:没有打开app 
    9.      *  2.前台运行状态 
    10.      *  3.后台暂停状态:停止一切动画、定时器、多媒体、联网操作,很难再作其他操作 
    11.      *  4.后台运行状态 
    12.      */  
    13.     // 向操作系统申请后台运行的资格,能维持多久,是不确定的  
    14. //    self.task = [application beginBackgroundTaskWithExpirationHandler:^{  
    15. //        // 当申请的后台运行时间已经结束(过期),就会调用这个block  
    16. //          
    17. //        // 赶紧结束任务  
    18. //        [application endBackgroundTask:self.task];  
    19. //    }];  
    20.     __block UIBackgroundTaskIdentifier task = [application beginBackgroundTaskWithExpirationHandler:^{  
    21.         // 当申请的后台运行时间已经结束(过期),就会调用这个block  
    22.   
    23.         // 赶紧结束任务  
    24.         [application endBackgroundTask:task];  
    25.     }];  
    26.       
    27.     /** 
    28.     1.定义变量UIBackgroundTaskIdentifier task 
    29.     2.执行右边的代码 
    30.     [application beginBackgroundTaskWithExpirationHandler:^{ 
    31.         // 当申请的后台运行时间已经结束(过期),就会调用这个block 
    32.          
    33.         // 赶紧结束任务 
    34.         [application endBackgroundTask:task]; 
    35.     }]; 
    36.      3.将右边方法的返回值赋值给task 
    37.      */  
    38.       
    39.       
    40.     // 在Info.plst中设置后台模式:Required background modes == App plays audio or streams audio/video using AirPlay  
    41.     // 搞一个0kb的MP3文件,没有声音  
    42.     // 循环播放  
    43.       
    44.     // 以前的后台模式只有3种  
    45.     // 保持网络连接  
    46.     // 多媒体应用  
    47.     // VOIP:网络电话  
    48. }
  • 相关阅读:
    OOP3(继承中的类作用域/构造函数与拷贝控制/继承与容器)
    OOP2(虚函数/抽象基类/访问控制与继承)
    OOP1(定义基类和派生类)
    拷贝控制3(对象移动)
    拷贝控制2(拷贝控制和资源管理/交换操作/动态内存管理)
    拷贝控制1(拷贝、赋值与销毁)
    动态内存2(动态数组)
    python--numpy模块、spicy模块、 matplotlib模块
    Java--23种设计模式之decorator模式
    Android开发---开发文档翻译
  • 原文地址:https://www.cnblogs.com/Yishu/p/7515569.html
Copyright © 2011-2022 走看看