直接上代碼
在appdelegate的.m中的進入背景時加入一些代碼操作即可
/**
* 當app進入背景時調用
*/
- (void)applicationDidEnterBackground:(UIApplication *)application
{
/**
* app的狀态
* 1.死亡狀态:沒有打開app
* 2.前台運作狀态
* 3.背景暫停狀态:停止一切動畫、定時器、多媒體、聯網操作,很難再作其他操作
* 4.背景運作狀态
*/
// 向作業系統申請背景運作的資格,能維持多久,是不确定的
// self.task = [application beginBackgroundTaskWithExpirationHandler:^{
// // 當申請的背景運作時間已經結束(過期),就會調用這個block
//
// // 趕緊結束任務
// [application endBackgroundTask:self.task];
// }];
__block UIBackgroundTaskIdentifier task = [application beginBackgroundTaskWithExpirationHandler:^{
// 當申請的背景運作時間已經結束(過期),就會調用這個block
// 趕緊結束任務
[application endBackgroundTask:task];
}];
/**
1.定義變量UIBackgroundTaskIdentifier task
2.執行右邊的代碼
[application beginBackgroundTaskWithExpirationHandler:^{
// 當申請的背景運作時間已經結束(過期),就會調用這個block
// 趕緊結束任務
[application endBackgroundTask:task];
}];
3.将右邊方法的傳回值指派給task
*/
// 在Info.plst中設定背景模式:Required background modes == App plays audio or streams audio/video using AirPlay
// 搞一個0kb的MP3檔案,沒有聲音
// 循環播放
// 以前的背景模式隻有3種
// 保持網絡連接配接
// 多媒體應用
// VOIP:網絡電話
}