繁体   English   中英

iPhone iOS 4:您如何在Objective-C中从后台变到前景

[英]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不允许您“出现在前台”,但是您可以使用本地通知。

因此,对于您想要做的事情,您需要:

  1. 启动拨号网址后,随着您的应用程序被推送到后台,您将获得“ applicationDidEnterBackground:”。 您将需要启动后台任务,否则将无法更改呼叫状态。

  2. 更改呼叫状态后,请创建本地通知。 如果用户想“查看”您的应用程序,那么您的应用程序将成为前台。

上面有一个问题,如果通话时间超过10分钟,则后台任务将终止,您将无法更改通话状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM