iOS开发之调用系统短信以及电话

Home / iOS MrLee 2015-4-19 2985

 以下内容有一部分是来各个网站,本人自己加上自己的理解,整理,至于来源于互联网的那一部分作者是谁,来自于哪里,我现在也不知道了,写出来供大家学习。如果有你是那一部分的作者,请联系我!

先介绍一种最简单的方法:
调用打电话功能
[[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 = [MFMessageComposeViewController canSendText];
      NSLog(@"can send SMS [%d]",canSendSMS);
      if (canSendSMS) {
         MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
         picker.messageComposeDelegate = self;
         picker.navigationBar.tintColor = [UIColor blackColor];
         picker.body = @"test";
         picker.recipients = [NSArray arrayWithObject:@"10086"];
         [self presentModalViewController:picker animated:YES];
         [picker release];
      }
}
给一个人发短信:

从网页上获得内容


-(void)displaySMSComposerSheet
{
    MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
    picker.messageComposeDelegate = self;
    UIWebView *web = nil;
    NSMutableString* absUrl = [[NSMutableString alloc] initWithString:web.request.URL.absoluteString];
    [absUrl replaceOccurrencesOfString:@"http://i.aizheke.com" withString:@"http://m.aizheke.com" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [absUrl length])];
    picker.body=[NSString stringWithFormat:@"我在爱折客上看到:%@ 可能对你有用,推荐给你!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以上才支持程序内发送短信
    }
}

本文链接:https://it72.com/2253.htm

推荐阅读
最新回复 (0)
返回