ios 로컬 전화 호출, 문자 발송

11412 단어 ios
전화, 문자는 휴대전화의 기본 기능으로 iOS에 인터페이스를 제공하여 우리가 호출하도록 한다.이 글은 iOS의 전화, 문자 발송이 프로그램에서 어떻게 호출되는지 간단하게 소개한다.
1. 전화하다
 
 1 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10010"]];//      

 
오픈URL이라는 API를 사용하여 전화를 한 후에 되돌아오는 것은 시스템의 전화 인터페이스입니다. 어떻게 해야만 자신의 앱으로 되돌아갈 수 있습니까?여러분과 나누는 두 가지 방법이 있습니다.
 
첫 번째는 UIWebView로 전화를 탑재하는 것이다. 이런 것은 합법적이며 앱스토어에 접속할 수 있다.
코드는 다음과 같습니다.
 
   
1  UIWebView*callWebview =[[UIWebView alloc] init];

2 

3     NSURL *telURL =[NSURL URLWithString:@"tel:10010"];

4     [callWebview loadRequest:[NSURLRequest requestWithURL:telURL]];

5     //     view 

6     [self.view addSubview:callWebview];

 
 
두 번째는 개인 방법으로 앱스토어에 접속할 수 없다(자신이 시도해 본 적이 없다). 
 1 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://10010"]]; 

 
위의 코드는 단지 첫 번째 방법 중의 텔을 텔프롬프트로 한다.
2. 문자 보내기
iOS에서는 두 가지 방법으로 문자를 보낼 수 있는데 가장 간단한 것은 OpenURL을 사용하는 것이다.
 
 [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"sms://10010"]];//   

 
 
 
위 방식은 문자 내용을 지정할 수 없습니다, iOS4.0MFMessageComposeViewController와 MFMessageComposeViewControllerDelegate가 새로 가입되어 문자를 보내는 인터페이스를 제공하여 메일을 보내는 것처럼 프로그램에서 뛰어나오지 않고 문자를 보낼 수 있다.소개 참조Message UIFramework Reference
 
MFMessage Compose View Controller는 조작 인터페이스를 사용하기 전에 can SendText 방법을 검사해야 하며, NO로 돌아가면 이 controller를 보여주지 말고 문자 발송 기능을 지원하지 않는다는 것을 알려야 한다.
 
 
메시지 ComposeDelegate:에이전트, 전송 결과 처리
recipients: 수신자 <목록, 단체 발송 지원>
body: 메시지 내용
 
Frameworks에 MessageUI. 도입하기framework 
#import 프로토콜 추가:
 
#import <MessageUI/MessageUI.h>



@interface DemoViewController : UIViewController <MFMessageComposeViewControllerDelegate>



@end

 
MFMessageComposeViewController를 호출하고 프로토콜 MFMessageComposeViewControllerDelegate를 실현합니다.
 
 
 1 - (void)showMessageView

 2 {

 3     

 4     if( [MFMessageComposeViewController canSendText] ){

 5         

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

 7         

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

 9         controller.body = @"     ";        

10         controller.messageComposeDelegate = self;

11 

12         [self presentModalViewController:controller animated:YES];

13         

14         [[[[controller viewControllers] lastObject] navigationItem] setTitle:@"    "];//        

15     }else{

16         

17         [self alertWithTitle:@"    " msg:@"        "];        

18     }    

19 }

20 

21 

22 //MFMessageComposeViewControllerDelegate

23 

24 - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{

25     

26     [controller dismissModalViewControllerAnimated:NO];//           YES

27     

28     switch ( result ) {

29             

30         case MessageComposeResultCancelled:

31 

32             [self alertWithTitle:@"    " msg:@"    "]; 

33             break;

34         case MessageComposeResultFailed:// send failed

35             [self alertWithTitle:@"    " msg:@"    "]; 

36             break;

37         case MessageComposeResultSent:

38             [self alertWithTitle:@"    " msg:@"    "]; 

39             break;

40         default:

41             break; 

42     }

43 }

44 

45 

46 - (void) alertWithTitle:(NSString *)title msg:(NSString *)msg {

47 

48     

49     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title

50            message:msg

51            delegate:self

52            cancelButtonTitle:nil

53            otherButtonTitles:@"  ", nil];

54                          

55    [alert show];

56                  

57 }

58           

 

좋은 웹페이지 즐겨찾기