iOS中调用系统打电话

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

调用打电话功能

[[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以上才支持程序内发送短信

    }

}

转载于:https://www.cnblogs.com/lixiong-iOS/p/3557533.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
UniApp 是一款基于 Vue.js 的跨平台应用开发框架,它可以帮助开发者构建一套代码,同时适应多个平台,包括 Web、iOS、Android 和 H5 等。在 UniApp ,如果你想要调用手机的内置功能,比如打电话,你需要利用原生的能力,因为 UniApp 提供的是封装后的接口,而不是直接访问底层操作。 在 UniApp 调用电话号码的方式通常涉及到 `uni-app-plus` 插件的 `plus打电话` 方法。首先,你需要确保已经在项目安装了这个插件,并在运行环境(如微信小程序、H5 或原生应用)支持相应的权限请求。具体步骤如下: 1. 在项目的 `pages/index.vue` 或其他需要使用该功能的页面引入 `uni-app-plus`: ```html <template> <view> <button @click="callPhone">打</button> </view> </template> <script> import { plus } from '@vant/weapp'; export default { methods: { callPhone() { if (plus) { // 检查是否已获取到必要的权限 if (plus perms.has('phoneCall')) { plus.phoneCall({ number: '1234567890', // 替换为你要打的电话号码 type: 'dial' // 打类型,默认为号 }); } else { console.log('未授权,无法打'); } } else { console.log('plus模块不存在,请检查是否安装并配置正确'); } } } } </script> ``` 2. 确保在项目的 `config.json` 文件设置了对相应权限的请求: ```json { "framework": { "plugins": { "plus": {} }, "permission": { "scope_phoneCall": { "desc": "您的应用需要访问通话功能" } } } } ``` 当你点击“打”按钮时,如果用户已经授权,程序会调起设备上的号器,打指定的电话号码。记得根据实际需求替换电话号码,或者让用户输入号码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值