APP按下HOME鍵退到后臺再次進(jìn)入不重啟的解決方法

一:需求描述

app按下home鍵后退到后臺后,過段時(shí)間再次進(jìn)入前臺不讓app重啟

二:解決思路和方法

1:在后臺播放音樂,一直循環(huán)播放無聲音樂,設(shè)置后會讓app存在后臺

在AppDelegate里面設(shè)置代碼如下

- (void)playbackgroud{

if ([[UIApplication sharedApplication] backgroundTimeRemaining] < 61.0) {

if (!session) {

session = [AVAudioSession sharedInstance];

[session setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers error:nil];

[session setActive:YES error:nil];

}

NSString *musicPath = [[NSBundle mainBundle] pathForResource:@"MMPSilence" ofType:@"wav"];

NSURL * URLPath = nil;

URLPath = [[NSURL alloc] initFileURLWithPath:musicPath];

_player = [[AVAudioPlayer alloc] initWithContentsOfURL:URLPath error:nil];

[_player prepareToPlay];

[_player setDelegate:self];

_player.volume = 0;

_player.numberOfLoops = -1;

[_player play];

[[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:nil];

}

}

- (void)applicationDidEnterBackground:(UIApplication *)application {

[[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:nil];

if (!timerBG) {

timerBG =? [NSTimer scheduledTimerWithTimeInterval:60.0f target:self selector:@selector(playbackgroud)userInfo:nil repeats:YES];

[[NSRunLoop currentRunLoop] addTimer:timerBG forMode:NSDefaultRunLoopMode];

[timerBG fire];

}

}

然后在工程的設(shè)置里面的Capabilities里面設(shè)置

2:在后臺開啟定位功能,在按下home鍵后開啟定位功能在后臺運(yùn)行

- (void)appWillResignActive:(NSNotification *)notification

{

[[LBDLocationManager shareManager] startLocation];

} 開啟定位

- (void)appDidBecomeActive:(NSNotification *)notification

{

[[LBDLocationManager shareManager] stopLocation];

}//關(guān)閉定位

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容