在我的一个应用程序中,它具有我成功实现的播放声音的功能。即使当应用程序正在运行(前台状态)并且我们收到来电时,应用程序音乐也会停止并在呼叫断开时再次恢复。
现在真正的问题就在这里。当应用程序进入后台状态时,我们不会收到任何来电/去电事件。在后台模式下,如果我的应用程序内正在播放音乐并且我们接到任何来电,则应用程序音乐会自动停止,但在呼叫断开时不会再次恢复,这与 iPhone 音乐应用程序不同。
这是 iOS 的限制还是我们可以实现这一点?
Note:我不是在寻找越狱设备或企业应用程序的任何解决方案
您是否尝试过创建呼叫中心并在 AppDelegate 类中分配处理程序块?以下必须起作用。
import UIKit
import CoreLocation
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
let callCenter: CTCallCenter = CTCallCenter()
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
window = UIWindow(frame: UIScreen.mainScreen().bounds)
window?.rootViewController = ViewController()
window?.makeKeyAndVisible()
callCenter.callEventHandler = {
(call: CTCall!) in
switch call.callState {
case CTCallStateConnected:
print("CTCallStateConnected")
case CTCallStateDisconnected:
print("CTCallStateDisconnected")
case CTCallStateIncoming:
print("CTCallStateIncoming")
default:
print("default")
}
}
return true
}
}
不要忘记打开电源背景模式为了这。并在后台执行一些操作,例如接收位置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)