日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS - 打电话, 发短信

發布時間:2024/1/17 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS - 打电话, 发短信 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

電話、短信是手機的基礎功能,iOS中提供了接口,讓我們調用。這篇文章簡單的介紹一下iOS的打電話、發短信在程序中怎么調用。

1、打電話

?

[cpp]?view plaincopyprint?
  • [[UIApplication?sharedApplication]?openURL:[NSURL?URLWithString:@"tel://10010"]];//打電話??
  • ?

    ?

    ? ? ? ?使用openURL這個API打電話結束后,返回的是系統的撥打電話界面,如何才能返回自己的應用呢?有兩種方法與大家分享。

    ?

    第一種是用UIWebView加載電話,這種是合法的,可以上App Store的。

    代碼如下:

    ?

    ?

    [cpp]?view plaincopyprint?
  • UIWebView*callWebview?=[[UIWebView?alloc]?init];??
  • NSURL?*telURL?=[NSURL?URLWithString:@"tel:10010"];??
  • [callWebview?loadRequest:[NSURLRequest?requestWithURL:telURL]];??
  • //記得添加到view上??
  • [self.view?addSubview:callWebview];??


  • ?

    第二種是私有方法,不能上App Store的(自己沒試過)。?

    [cpp]?view plaincopyprint?
  • [[UIApplication?sharedApplication]?openURL:[NSURL?URLWithString:@"telprompt://10010"]];??
  • ?

    上面的代碼只是把第一個方法中的tel為telprompt.

    2、發短信

    iOS中可以使用兩種方式發送短信,最簡單是使用openURL:

    ?

    [cpp]?view plaincopyprint?
  • [[UIApplication?sharedApplication]openURL:[NSURL?URLWithString:@"sms://10010"]];//發短信??
  • ?

    ?

    ? ??上面方式無法指定短信內容,iOS4.0新加入了MFMessageComposeViewController和MFMessageComposeViewControllerDelegate,提供了發送短信的接口,可以像發送郵件那樣不用跳出程序來發送短信. 介紹可參閱Message UIFramework Reference

    ?

    ? ? ? ? MFMessageComposeViewController提供了操作界面使用前必須檢查canSendText方法,若返回NO則不應將這個controller展現出來,而應該提示用戶不支持發送短信功能.

    ?

    ?

    messageComposeDelegate :代理,處理發送結果

    recipients ?:收信人<列表,支持群發>

    body :短信內容

    ?

    Frameworks中要引入MessageUI.framework?

    #import?<MessageUI/MessageUI.h>
    添加協議:<MFMessageComposeViewControllerDelegate>

    ?

    [cpp]?view plaincopyprint?
  • #import?<MessageUI/MessageUI.h>??
  • ??
  • @interface?DemoViewController?:?UIViewController?<MFMessageComposeViewControllerDelegate>??
  • ??
  • @end??

  • 調用MFMessageComposeViewController,同時實現協議MFMessageComposeViewControllerDelegate。

    ?

    ?

    [cpp]?view plaincopyprint?
  • -?(void)showMessageView??
  • {??
  • ??????
  • ????if(?[MFMessageComposeViewController?canSendText]?){??
  • ??????????
  • ????????MFMessageComposeViewController?*?controller?=?[[MFMessageComposeViewController?alloc]init];?//autorelease];??
  • ??????????
  • ????????controller.recipients?=?[NSArray?arrayWithObject:@"10010"];???????
  • ????????controller.body?=?@"測試發短信";??????????
  • ????????controller.messageComposeDelegate?=?self;??
  • ??
  • ????????[self?presentModalViewController:controller?animated:YES];??
  • ??????????
  • ????????[[[[controller?viewControllers]?lastObject]?navigationItem]?setTitle:@"測試短信"];//修改短信界面標題??
  • ????}else{??
  • ??????????
  • ????????[self?alertWithTitle:@"提示信息"?msg:@"設備沒有短信功能"];??????????
  • ????}??????
  • }??
  • ??
  • ??
  • //MFMessageComposeViewControllerDelegate??
  • ??
  • -?(void)messageComposeViewController:(MFMessageComposeViewController?*)controller?didFinishWithResult:(MessageComposeResult)result{??
  • ??????
  • ????[controller?dismissModalViewControllerAnimated:NO];//關鍵的一句???不能為YES??
  • ??????
  • ????switch?(?result?)?{??
  • ??????????????
  • ????????case?MessageComposeResultCancelled:??
  • ??
  • ????????????[self?alertWithTitle:@"提示信息"?msg:@"發送取消"];???
  • ????????????break;??
  • ????????case?MessageComposeResultFailed://?send?failed??
  • ????????????[self?alertWithTitle:@"提示信息"?msg:@"發送成功"];???
  • ????????????break;??
  • ????????case?MessageComposeResultSent:??
  • ????????????[self?alertWithTitle:@"提示信息"?msg:@"發送失敗"];???
  • ????????????break;??
  • ????????default:??
  • ????????????break;???
  • ????}??
  • }??
  • ??
  • ??
  • -?(void)?alertWithTitle:(NSString?*)title?msg:(NSString?*)msg?{??
  • ??
  • ??????
  • ????UIAlertView?*alert?=?[[UIAlertView?alloc]?initWithTitle:title??
  • ???????????message:msg??
  • ???????????delegate:self??
  • ???????????cancelButtonTitle:nil??
  • ???????????otherButtonTitles:@"確定",?nil];??
  • ???????????????????????????
  • ???[alert?show];??
  • ???????????????????
  • }??
  • ? ? ? ? ? ??
  • 轉載于:https://www.cnblogs.com/guangleijia/p/4910678.html

    總結

    以上是生活随笔為你收集整理的iOS - 打电话, 发短信的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。