验证telprompt后是否进行了呼叫

时间:2014-03-11 15:22:39

标签: iphone objective-c nsurl

我想验证用户在telprompt后点击致电按钮或取消按钮

当前代码:

    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"telprompt://%@", [personDetails valueForKey:@"phone"]]];
    [[UIApplication  sharedApplication] openURL:url];

我该怎么办?

3 个答案:

答案 0 :(得分:2)

首先telprompt:不是文档化的URL架构,不应使用。因为Apple可以随时改变它的使用方式。

其次,由于数据会传回您的应用,您将无法检测到是否已拨打电话。您可以检测是否使用CoreTelephony。但要实现这一点需要您的应用程序在后台运行,您可能不得不滥用某些后台模式,这将使Apple拒绝您的应用程序。

您能解释一下为什么要检测是否有来电?

答案 1 :(得分:0)

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(called:) name:@"UIApplicationSuspendedNotification" object:nil];

-(void)called:(NSNotification *) notification
{
    NSLog(@"Tapped Call button");
}

如果点击了“呼叫”按钮,则应用程序将终止并进入后台,因此只需添加UIApplicationSuspendedNotification通知的观察者。

答案 2 :(得分:0)

对于我的情况,我使用了tel://而不是telprompt://来制作我自己的UIAlertView。通过这种方式,您可以检测是否从UIAlertView的委托中调用了呼叫选项。