一、用iOS URL Scheme實現
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
二、MFMessageComposeViewController實現
-(void)sendSMSBtnClick:(UIButton *)sender{
//必須要檢測設備是否能發送短信
if( [MFMessageComposeViewController canSendText] )
{
MFMessageComposeViewController * controller = [[MFMessageComposeViewController alloc] init]; //autorelease];
controller.recipients = [NSArray arrayWithObject:@"186********",nil];//收件人可以是多個
controller.body = @"信息內容";
controller.messageComposeDelegate = self;
[self presentModalViewController:controller animated:YES];
// [[[[controller viewControllers] lastObject] navigationItem] setTitle:@"SomethingElse"];//修改短信界面標題
[controller release];
}
else
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示信息"
message:@"該設備不支持短信功能"
delegate:self
cancelButtonTitle:nil
otherButtonTitles:@"確定", nil];
[alert show];
[alert release];
}
}
//MFMessageComposeViewControllerDelegate
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
[controller dismissModalViewControllerAnimated:NO];//關鍵的一句 不能爲YES
switch ( result ) {
case MessageComposeResultCancelled:
NSLog(@"Result: SMS sending canceled");
break;
case MessageComposeResultSent:
NSLog(@"Result: SMS sent");
break;
case MessageComposeResultFailed:
[[UIAlertView alloc]initWithTitle:@"短信發送失敗" message:@"短信發送失敗" delegate:nil cancelButtonTitle:YES otherButtonTitles:nil, nil];
break;
default:
break;
}
[self dismissModalViewControllerAnimated:YES];
}
此方法雖然提供了操作界面,但是短信內容和收件人在不能在界面自行定義