• MFMessageComposeViewController程序内发送短信息的实例


     
     
     
     
    加载MFMessageComposeViewController

    - (void)showMessageView

    {

        if( [MFMessageComposeViewController canSendText] )

        {

            MFMessageComposeViewController * controller = [[MFMessageComposeViewController alloc]init]; //autorelease];

            controller.recipients = [NSArray arrayWithObject:@"15988888888"];

            controller.body = @"请直接将此条认证短信发送给我们,以完成手机安全绑定。(9qzkd27953ma)";

            controller.messageComposeDelegate = self;

            

            [self presentModalViewController:controller animated:YES];

    //        [[[[controller viewControllers] lastObject] navigationItem] setTitle:@"SomethingElse"];//修改短信界面标题

            [controller release];

        }

        else

        {

            UIAlertView *alert = [[UIAlertView allocinitWithTitle:@"提示信息" 

                                                            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:

                    {

                           //click cancel button

                    }

                    break;

               case MessageComposeResultFailed:// send failed

                

                     break;

                case MessageComposeResultSent:

                {

                    

                      // do something

                }

               break;

         default:

              break;

         }

    }

    我们知道可以使用这样的代码在iphone中发送短信:

    [[UIApplication sharedApplication] openURL:@"sms:12345678"]; 

    但这样的方式无法指定短信内容。那么我们可以使用MessageUI框架。

    首先在程序中导入MessageUI.framework。import头文件:#import "DeviceDetection.h"

    然后在代码中使用下面的语句来调用短信发送窗口,并指定号码和短信内容:

    MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init]autorelease];

    controller.body = @"zc";

    controller.recipients = [NSArray arrayWithObjects:@"106295598"nil];

    controller.messageComposeDelegate = self;

    [self presentModalViewController:controller animated:YES];

    同时实现协议MFMessageComposeViewControllerDelegate,

    在协议方法messageComposeViewController:didFinishWithResult:

    中解散窗口:

    switch (result) {

        case MessageComposeResultCancelled:

              NSLog(@"Cancelled");

              break;

        case MessageComposeResultFailed:

              [self alert:@"发送短信错误!"];

              break;

         case MessageComposeResultSent:

              break;

          default:

             break;

    }

    [self dismissModalViewControllerAnimated:YES];

  • 相关阅读:
    effective C++
    bat取时间间隔
    bat设置windows计划任务
    listener.ora 与 tnsnames.ora
    route(windows)
    bat 数组实现
    非const引用参数传入不同类型编译不过的理解(拒绝将临时对象绑定为非const的引用的形参是有道理的)
    python no module named builtins
    Caffe使用新版本CUDA和CuDNN
    Ubuntu16.04安装vim8
  • 原文地址:https://www.cnblogs.com/daguo/p/2621986.html
Copyright © 2020-2023  润新知