[英]iPhone iOS 4: how do you go from background to foreground in objective-c
我正在尝试使断开连接后的后台应用程序成为前台。 这是代码:
if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel:0123456789"]]){
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:0123456789"]];
} else {
// Could not make call
}
CTCallCenter *c=[[CTCallCenter alloc] init];
c.callEventHandler=^(CTCall* call){
if(call.callState == CTCallStateDisconnected) {
// code to make app return to the foreground
// I have tried calling applicationWillEnterForeground, but it didn't work
}
}
请帮忙
我敢肯定,您不能通过简单的电话来做到这一点。 也许在完成代码块中注册我的app://和usinng openURL的URL处理程序可以工作,但这似乎很麻烦。
Apple不允许您“出现在前台”,但是您可以使用本地通知。
因此,对于您想要做的事情,您需要:
启动拨号网址后,随着您的应用程序被推送到后台,您将获得“ applicationDidEnterBackground:”。 您将需要启动后台任务,否则将无法更改呼叫状态。
更改呼叫状态后,请创建本地通知。 如果用户想“查看”您的应用程序,那么您的应用程序将成为前台。
上面有一个问题,如果通话时间超过10分钟,则后台任务将终止,您将无法更改通话状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.