由于某些设备和BLE的限制,我需要在我的应用中监控当用户在手机上时与BLE交互。我已经编写了一个基本的调用观察器来测试 - 但是当应用程序被反向运行时,它没有收到任何更新。我想知道是否有人知道如何在后台获得通话状态通知?
class ViewController: UIViewController{
@IBOutlet weak var callStatusLabel: UILabel!
var callObs : CXCallObserver!
override func viewDidLoad() {
super.viewDidLoad()
/
callObs = CXCallObserver()
callObs.setDelegate(self, queue: nil)
print("Monitoring Calls")
callStatusLabel.text = "Monitoring..."
self.view.backgroundColor = UIColor.yellow
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
/
}
}
extension ViewController : CXCallObserverDelegate
{
func callObserver(_: CXCallObserver, callChanged: CXCall)
{
if(callChanged.hasEnded)
{
print("Call Ended")
callStatusLabel.text = "Call Ended"
self.view.backgroundColor = UIColor.green
}
else if(callChanged.hasConnected)
{
print("Call Connected")
callStatusLabel.text = "Call Connected"
self.view.backgroundColor = UIColor.red
}
}
}
我目前启用了以下背景模式: 音频,AirPlay& PIP Loc更新 VOIP 外部配件通讯 使用BLE 后台提取