ユーザーが電話番号をタップするだけでなく、アプリケーション (UIWebView) から実際にいつ電話をかけているかを知りたいです。
アプリで電話リンクを押した後、ユーザーが通話/キャンセルのポップアップを受け取ったときに選択した結果を取得するにはどうすればよいですか?
Open tel: links from UIWebViewにこれに関する情報があります。
仕組みと必要なもの
OS は、Call/Cancel アラート ダイアログの表示を処理しません。あれは君次第だ。Safari アプリの shouldStartLoadWithRequest メソッドは、間違いなく tel: スキームに UIAlertView を表示して応答するため、Safari に表示されます。if ([url.scheme isEqualToString:@"tel"]) の条件は、YES の場合、呼び出しとキャンセル ボタンで UIAlertView をトリガーする必要があります。呼び出し時に、sharedApplication に openURL を指示します。キャンセルすると、呼び出しは発行されず、アプリが loadWithRequest を試行しないように NO も返されます。
コード例:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex == 1) {
//OK clicked
} else {
}
}
- (void) _showAlert:(NSString*)title
{
UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:title message:@"Check your networking configuration." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
[alertView release];
}
これが何らかの形であなたを助けたことを願っています。
よろしくお願いします
ライナス