点击后确认用户想要拨打的电话号码

问题描述 投票:0回答:5

我想在用户单击某个号码时显示一个弹出窗口,询问用户是否要拨打该号码。

我该怎么做?目前,当我点击号码时,它会自动呼叫。

iphone ios
5个回答
10
投票

你还可以这样做:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt:0123456789"]];

获取提示并随后返回您的应用程序。


3
投票

创建一个UIAlertView,delegate设置为self,如果selectedButtonIndex是alert中yes按钮的buttonIndex,则拨打该号码,如果不是,则不拨打该号码。

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Do you want to call..." delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes", nil];
[alert setTag:02];
[alert show];
[alert release];

- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {

    if (alertView.tag == 02 && buttonIndex != alertView.cancelButtonIndex) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://phonenumber"]];
    }
} 

3
投票

我认为您正在寻找类似于 UIWebView 自动对电话号码执行的操作。 它会弹出一个 UIAlertView 来询问用户是否要在拨出之前拨打该号码。 为此,请将您的类设为 UIAlertViewDelegate 并执行以下操作:

UIAlertView *alert = [[UIAlertView alloc]
                      initWithTitle: nil
                            message: phonenum
                            delegate: self
                            cancelButtonTitle:@"Cancel"
                            otherButtonTitles:@"Call",nil];
[alert show];
[alert release];

另外,在同一个类中添加以下方法:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 0) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat: @"tel://%@", phoneNum]]];
    }
}

当用户与其交互时,警报视图将回调该方法。 ButtonIndex == 0 确保您仅在用户点击“呼叫”按钮时拨打该号码。


0
投票

您应该使用 UIAlertView 方法。 此链接 中提供了该文档。我建议您查看该文档,一切都是不言自明的。

但是你可能需要这样的东西。

UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Really call?" message:@"Do you want to call this number?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil] autorelease];
// optional - add more buttons:
[alert addButtonWithTitle:@"Yes"];
[alert show];

0
投票

您可以按照此代码操作。拨打提供的手机号码会有系统确认提示。

    @objc func pressMeAction() {
    let str = "telprompt://1234567890"
    let url = URL(string: str)!
    if UIApplication.shared.canOpenURL(url) {
        UIApplication.shared.open(url)
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.