代码改变世界

ios 调用系统发短信以及打电话功能

2013-06-25 17:14  Mr.Xer  阅读(398)  评论(0编辑  收藏  举报

先介绍一种最简单的方法:

调用打电话功能

[[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]];

调用发短信功能

[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"sms://10000"]];

 


上面的发短信的功能是调用系统的界面,下面是实现一种点击按键就直接发送短信,相当于后台发送,能不能上软件商店,还不能确定。相对建议来说,尽量使用第一种。


首先导入MFMessageComposeViewControllerDelegate这个代理,实现里面的方法

-(void)messageComposeViewController:(MFMessageComposeViewController *)controllerdidFinishWithResult:(MessageComposeResult)result {

     

      //Notifies users about errors associated with the interface

      switch (result) {

         case MessageComposeResultCancelled:

            if (DEBUG)NSLog(@"Result: canceled");

            break;

         case MessageComposeResultSent:

            if (DEBUG)NSLog(@"Result: Sent");

            break;

         case MessageComposeResultFailed:

            if (DEBUG)NSLog(@"Result: Failed");

            break;

         default:

            break;

      }

      [self dismissModalViewControllerAnimated:YES];

}

群发短信:

- (IBAction)sendSMS {

     

      BOOL canSendSMS = [MFMessageComposeViewControllercanSendText];

      NSLog(@"can send SMS [%d]",canSendSMS);

      if (canSendSMS) {

     

         MFMessageComposeViewController *picker = [[MFMessageComposeViewControlleralloc] init];

         picker.messageComposeDelegate =self;

         picker.navigationBar.tintColor = [UIColorblackColor];

         picker.body = @"test";

         picker.recipients = [NSArrayarrayWithObject:@"10086"];

         [self presentModalViewController:picker animated:YES];

         [picker release];   

      } 

}

给一个人发短信:
从网页上获得内容

-(void)displaySMSComposerSheet

{

    MFMessageComposeViewController *picker = [[MFMessageComposeViewControlleralloc] init];

    picker.messageComposeDelegate =self;

    UIWebView *web = nil;

    NSMutableString* absUrl = [[NSMutableStringalloc] initWithString:web.request.URL.absoluteString];

    [absUrl replaceOccurrencesOfString:@"http://i.aizheke.com"withString:@"http://m.aizheke.com"options:NSCaseInsensitiveSearchrange:NSMakeRange(0, [absUrllength])];

    picker.body=[NSStringstringWithFormat:@"我在爱折客上看到:%@可能对你有用,推荐给你!link:%@",[webstringByEvaluatingJavaScriptFromString:@"document.title"],absUrl];

   [absUrl release];

   [self presentModalViewController:picker animated:YES];

   [picker release];

}

事件绑定发送短信

-(IBAction)showSMSPicker:(id)sender {

    Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));

    if (messageClass != nil) {

        if ([messageClass canSendText]) {

            [self displaySMSComposerSheet];

        }

        else {

//设备没有短信功能

       }

    }

    else {

// iOS版本过低,iOS4.0以上才支持程序内发送短信

    }

}