【发布时间】:2012-07-23 17:52:24
【问题描述】:
我有一个在后台播放音频的应用。当当前曲目完成时,我正在尝试使用beginBackgroundTaskWithExpirationHandler 跳到下一首曲目。
这是播放状态改变时调用的代码。即使同一方法中的其他代码在后台成功实现,它也不会记录“beginBG called”。
UIApplication *app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
[self ffwButtonPressed:ffwButton];
NSLog(@"beginBG called");
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
ffwButtonPressed 调用几种不同的方法来改变轨道。完成后...
UIApplication *app = [UIApplication sharedApplication];
if (bgTask != UIBackgroundTaskInvalid) {
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
NSLog(@"end bgTask");
编辑:声明
UIBackgroundTaskIdentifier bgTask;
编辑:在 ViewDidLoad 中
bgTask = 0;
【问题讨论】:
标签: iphone objective-c ios background-process uiapplication