【问题标题】:placing a call programmatically on iPhone and return to the same app after hangup [duplicate]以编程方式在 iPhone 上拨打电话并在挂断后返回同一个应用程序 [重复]
【发布时间】:2011-03-09 21:27:20
【问题描述】:

我会撒谎在我的应用程序中拨打电话(我可以使用电话:),但我想在用户挂断后返回我离开的应用程序。 这可能吗?

【问题讨论】:

标签: iphone tel


【解决方案1】:

不,不是。恐怕电话结束后,用户控制他们导航的位置。默认情况下,它停留在手机应用程序中,用户退出它的唯一方法是点击主页按钮,这会将他们带到主屏幕。保存您的状态,并在他们像其他人一样回来时重新加载。

【讨论】:

    【解决方案2】:

    您无法在通话完成后自动返回应用,但如果您的应用支持 iOS 4,则其多任务处理功能(如果应用支持)可以将用户带回到他或她在通话之前中断的位置重新启动应用时调用。

    如果您使用 iOS 3 或更早版本,则需要自己手动保存应用的状态,然后在重新启动时将用户带回该状态。

    【讨论】:

      【解决方案3】:

      我从 Apple 网站获得了这段代码,它运行良好:

      -(IBAction) dialNumber:(id)sender{
      
      NSString *aPhoneNo = [@"tel://" stringByAppendingString:[itsPhoneNoArray objectAtIndex:[sender tag]]] ; NSURL *url= [NSURL URLWithString:aPhoneNo];
      
      NSString *osVersion = [[UIDevice currentDevice] systemVersion];
      
      if ([osVersion floatValue] >= 3.1) { 
      UIWebView *webview = [[UIWebView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame]; 
      [webview loadRequest:[NSURLRequest requestWithURL:url]]; 
      webview.hidden = YES; 
      // Assume we are in a view controller and have access to self.view 
      [self.view addSubview:webview]; 
      [webview release]; 
      } else { 
      // On 3.0 and below, dial as usual 
      [[UIApplication sharedApplication] openURL: url];
      }
      
      
      }
      

      【讨论】:

      • 在发布多个问题的复制和粘贴样板/逐字答案时要小心,这些往往会被社区标记为“垃圾邮件”。
      • 请注意,正确的 URI 是 tel:xxxxxnot tel://xxxxx 和 AFAIK 后一种形式现在被拒绝。
      猜你喜欢
      • 2011-10-29
      • 1970-01-01
      • 2012-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-24
      • 1970-01-01
      相关资源
      最近更新 更多