应用程序进入后台任然可以工作的开发思路

2017-03-13  本文已影响24人  石玉龙

1. NSNumber对象赋值NSString会报错。[__NSCFNumber isEqualToString:]; unrecognized selector sent to instance 0x9f59530

2. NSNumber转成NSString可以调用description方法,[responseObject[@"status"] description];

3. 如果刷新成功之后,在刷新成功之后就清空提醒消息数字。

4. 默认加到runloop,的模式修改一下,CommonModel就可以凑出时间做其他的事件。

5. 进入后台定时器就暂停工作了。要想让程序进入后台的时候也想做一些事情的时候,app delegate里-(void)applicationDidEnterBackground:(UIApplication *)application; //当app进入后台时调用,可以让程序进入后台运行状态,定时器,多媒体操作。

6. 后台暂停状态:停止一切动画、定时器、多媒体、联网操作、很难再做其他的操作了。

7. 后台运行状态:进入后台的调用方法,[application beginBackgroundTaskWithExpirationHandler:^{ //    }];// 向操作系统申请后台运行的资格,能维持多久,是不确定的。

开发代码:

/**

*  当app进入后台时调用

*/

- (void)applicationDidEnterBackground:(UIApplication *)application

{

/**

*  app的状态

*  1.死亡状态:没有打开app

*  2.前台运行状态

*  3.后台暂停状态:停止一切动画、定时器、多媒体、联网操作,很难再作其他操作

*  4.后台运行状态

*/

// 向操作系统申请后台运行的资格,能维持多久,是不确定的

UIBackgroundTaskIdentifier task = [application beginBackgroundTaskWithExpirationHandler:^{

// 当申请的后台运行时间已经结束(过期),就会调用这个block

// 赶紧结束任务

[application endBackgroundTask:task];

}];

// 在Info.plst中设置后台模式:Required background modes == App plays audio or streams audio/video using AirPlay

// 搞一个0kb的MP3文件,没有声音

// 循环播放

// 以前的后台模式只有3种

// 保持网络连接

// 多媒体应用

// VOIP:网络电话

}

上一篇下一篇

猜你喜欢

热点阅读