我正在尝试将电话号码存储为 NSUserDefaults 中的 NSString。由于某种原因,下面的代码不起作用。如果我不使用变量,代码就可以工作,但我无法让它工作。有人知道为什么吗?
NSString *savedPhone = [[NSUserDefaults standardUserDefaults]
stringForKey:@"savedPhone"];
NSString *callNumber = [NSString stringWithFormat:@"%@%@",@"tel://",savedPhone];
NSURL *myURL = [NSURL URLWithString:callNumber];
[[UIApplication sharedApplication] openURL:myURL];
如果有人有任何想法,请告诉我。谢谢!
更改 URL 格式(删除//
)
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:2135554321"]];
您可以使用
以下代码实现:
NSUserDefaults *objUserDefaults = [NSUserDefaults standardUserDefaults];
NSString *savedPhone = [objUserDefaults objectForKey:@"savedPhone"];
[self callNumber:savedPhone];
然后添加以下函数:
-(void)callNumber:(NSString *)pstrContactNo
{
NSString *strDeviceModel = [UIDevice currentDevice].model;
if(![strDeviceModel isEqualToString:@"iPhone"])
{
UIAlertView *objAlertMsg = [[UIAlertView alloc] initWithTitle:@""
message:@"Calling is not supported in this device."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[objAlertMsg show];
[objAlertMsg release];
}
else
{
pstrContactNo = [NSString stringWithFormat:@"tel:%@",pstrContactNo];
NSString *strDialedContact = [pstrContactNo stringByReplacingOccurrencesOfString:@" " withString:@""];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:strDialedContact]];
}
}
这将解决您的问题。
干杯!
像
这样更改callNumber
:NSString *callNumber = [NSString stringWithFormat:@"tel:%@",savedPhone];
NSString *number = YOUR-NUMBER;
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"telprompt:%@",number]];
[[UIApplication sharedApplication] openURL:url];
尝试使用此代码,它将在完成调用后导航回您的应用程序