簡體   English   中英

iOS中的撥號號碼真的需要確認嗎?

[英]Dial number in iOS really need confirmation?

我使用以下代碼撥打號碼並使用我的設備進行測試。 似乎不需要確認 ,對嗎?

NSURL *url = [NSURL URLWithString:@"tel://12345678"];
[[UIApplication sharedApplication] openURL:url];

作為已發布的合適解決方案的替代方案,您可以考慮使用telprompt URL方案,例如

NSURL *url = [NSURL URLWithString@"telprompt://12345678"];
[[UIApplication sharedApplication] openURL:url];

確認不是必需的,並且在以編程方式完成時不會顯示。 如果單擊某個數字,您將只在Safari中看到alertView。

但是,根據我自己的經驗,我認為客戶看到一個對話框更方便,所以他們不會不小心打電話給某人。 人們只是在應用程序中點擊內容,甚至沒有思考,在這種情況下可能會很糟糕。

為了模仿safari你可以做這樣的事情:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Call 12345678?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Call", nil];
[alert show];
alert.tag = 1;
[alert release];

-(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    switch (alertView.tag) {
        case 1:
            if (buttonIndex == 1) {
                NSURL *url = [NSURL URLWithString:@"tel://12345678"];
                [[UIApplication sharedApplication] openURL:url];
            }
            break;
        default:
            break;
    }
}

確認不是必需的,但它是可取的,因為它可以防止用戶被放入撥號應用程序時出現混淆。 另一個答案建議你可以做的一件事是使用telprompt而不是tel。 這將通過簡單的對話框提供必要的提示。 它還具有非常好的副作用,即在電話呼叫完成后將用戶放回呼叫應用程序。 這個關鍵元素允許您繼續前進,而不是被踢出您的應用程序。

此處提供了進一步解釋此代碼和示例項目的類別: http//www.raizlabs.com/dev/2014/04/getting-the-best-behavior-from-phone-call-requests-using-tel -in-AN-IOS-應用程序/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM