iOS學習筆記(十四)——打電話、發簡訊
電話、簡訊是手機的基礎功能,iOS中提供了介面,讓我們呼叫。這篇文章簡單的介紹一下iOS的打電話、發簡訊在程式中怎麼呼叫。
1、打電話
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10010"]];//打電話
使用openURL這個API打電話結束後,返回的是系統的撥打電話介面,如何才能返回自己的應用呢?有兩種方法與大家分享。
第一種是用UIWebView載入電話,這種是合法的,可以上App Store的。
程式碼如下:
UIWebView*callWebview =[[UIWebView alloc] init]; NSURL *telURL =[NSURL URLWithString:@"tel:10010"]; [callWebview loadRequest:[NSURLRequest requestWithURL:telURL]]; //記得新增到view上 [self.view addSubview:callWebview];
第二種是私有方法,不能上App Store的(自己沒試過)。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://10010"]];
上面的程式碼只是把第一個方法中的tel為telprompt.
2、發簡訊
iOS中可以使用兩種方式傳送簡訊,最簡單是使用openURL:
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"sms://10010"]];//發簡訊
上面方式無法指定簡訊內容,iOS4.0新加入了MFMessageComposeViewCont
MFMessageComposeViewController提供了操作介面使用前必須檢查canSendText方法,若返回NO則不應將這個controller展現出來,而應該提示使用者不支援傳送簡訊功能.
messageComposeDelegate :代理,處理髮送結果
recipients :收信人<列表,支援群發>
Frameworks中要引入MessageUI.framework
#import <MessageUI/MessageUI.h>
新增協議:
#import <MessageUI/MessageUI.h>
@interface DemoViewController : UIViewController <MFMessageComposeViewControllerDelegate>
@end
呼叫MFMessageComposeViewController,同時實現協議MFMessageComposeViewControllerDelegate。
- (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];
}
/*** @author 張興業
參考:
http://developer.apple.com/library/ios/#documentation/MessageUI/Reference/MFMessageComposeViewController_class/Reference/Reference.html
相關推薦
iOS學習筆記(十四)——打電話、發簡訊
電話、簡訊是手機的基礎功能,iOS中提供了介面,讓我們呼叫。這篇文章簡單的介紹一下iOS的打電話、發簡訊在程式中怎麼呼叫。1、打電話 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:
iOS學習筆記(十七)——文件操作(NSFileManager)
技術分享 append hint pbo -cp fcm object 寫入 rtmp http://blog.csdn.net/xyz_lmn/article/details/8968213 iOS的沙盒機制,應用只能訪問自己應用目錄下的文件。ios不像Androi
如鵬網學習筆記(十四)ASP.NET
表單參數 form表單 web服務 exp 序列化 date 文字 arr 處理程序 Asp.net筆記 一、Socket類 進行網絡編程的類,可以在兩臺計算機之間進行網絡通訊 過程: 向服務器發送指令: GET /index.html HTTP
Java框架spring Boot學習筆記(十四):log4j介紹
inf alt 技術分享 images 使用 image 詳細 配置文件 -128 功能 日誌功能,通過log4j可以看到程序運行過程的詳細信息。 使用 導入log4j的jar包 復制log4j的配置文件,復制到src下面 3.設置日誌級別
Linux學習筆記(十四)df命令、du命令、磁盤分區
xtend du -sh image c2c 浪費 code 服務 分享 bdc 一、df #查看文件系統的使用情況第一列文件系統中tmpfs結尾的都是臨時的文件系統,文件單位默認為kb df -h 自動適應文件大小的單位free可以查看swap的使用情況 df -i 查看
Nodejs學習筆記(十四)—Mongoose介紹和入門
tar 字段名 lse number 數組 int 位置 斷開 mongod 簡介 Mongoose是在node.js異步環境下對mongodb進行便捷操作的對象模型工具 那麽要使用它,首先你得裝上node.js和mongodb,關於mongodb的安裝和操作介紹可
ASP.NET Core 2 學習筆記(十四)Filters
span ans 黃色 返回 lec red addm spn using 原文:ASP.NET Core 2 學習筆記(十四)FiltersFilter是延續ASP.NET MVC的產物,同樣保留了五種的Filter,分別是Authorization Filter、Res
javaweb學習筆記(十四):JSP(4)
目錄 製作高仿的JSTL標籤庫之核心標籤庫 《1》xiaohua.tld檔案: 《2》依附的各個類: 《3》imitate.core.jsp檔案: 《4》瀏覽器檢視: 製作高仿的JSTL標籤庫之核心標籤庫 通過自定義標籤,製
機器學習筆記(十四):TensorFlow實戰六(經典卷積神經網路:AlexNet )
1 - 引言 2012年,Imagenet比賽冠軍的model——Alexnet [2](以第一作者alex命名)。這個網路算是一個具有突破性意義的模型 首先它證明了CNN在複雜模型下的有效性,然後GPU實現使得訓練在可接受的時間範圍內得到結果,讓之後的網路模型構建變得更加複雜,並且通過
Effective_STL 學習筆記(十四) 使用 reserve 來避免沒必要的重新分配
對於vector和string,當需要更多的空間,以realloc等價的思想來增長。類似於realloc的操作有四個部分: 1. 分配新的記憶體塊,它有容器目前容量的幾倍。大部分實現中,vector和string的容量以2為因數增長。 也就是說,當容器必須擴充套件時,它的容量每次
python基礎教程(第三版)學習筆記(十四)
第十四章 網路程式設計 鑑於Python提供的網路工具眾多,這裡只能簡要地介紹它的網路功能。 本章首先概述Python標準庫中的一些網路模組。然後討論SocketServer和相關的類,並介紹 地介紹同時處理多個連線的各種方法。最後,簡單地說一說Twisted,這是一個使用Pyth
Python學習筆記(十四)高階變數型別--字串
1、字串定義 字串 就是 一串字元,是程式語言中表示文字的資料型別 在Python中可以使用 一對雙引號"或者一對單引號'定義一個字串 雖然可以使用\"或者\’定義字串 如果字串內部需要使用',可以使用”定義字串 可以使用 索引 獲取一個字串中
GoLang學習筆記(十四)函式的可變引數
一個函式中最多隻有一個可變引數,如果引數列表中還有其他型別的引數,則可變引數寫在最後。 語法格式: func 函式名(引數名 ...型別)[(返回值列表)]{ //函式體 } 示例一,引數不定,引數的個數是0-N個,引數型別一致,返回值1個。 注意:引數是
Android開發學習筆記(十四)基礎UI控制元件之Spinner
Spinner:彈出一個列表選擇框,供使用者選擇。繼承自ViewGroup,因為可以容納很多列表項,因此它也是一個容器控制元件。 給Spinner指定資料來源的2種方法: 一、通過指定xml檔案來指
機器學習筆記(十四):異常檢測
目錄 1)Problem motivation 2)Gaussian distribution 3)Algorithm 4)Developing and evaluating an anomaly detection system 5)Anomaly detection vs
大資料學習筆記(十四)-- hadoop
Table of Contents HDFS 儲存模型 架構模型 副本佈置 總結 Hadoop簡介 HDFS 儲存模型 解釋 : 已上傳的Block大小不可改變的原因是每個Block大小一致,改變一個其他也會跟著改變
前端入門學習筆記(十四)CSS基礎(二)CSS 規則與選擇器
CSS語法 CSS是由瀏覽器解釋的樣式規則,然後應用於文件中相應的元素。 樣式規則有三個部分:選擇器,屬性和值。 例如,標題顏色可以定義為: h1{color: red;} 選擇器{ 屬性: 值;} selec
Machine Learning學習筆記(十四)整合學習(Boosting,Bagging,組合策略)
整合學習 在一些資料探勘競賽中,後期我們需要對多個模型進行融合以提高效果時,常常會用到Bagging,Boosting,Stacking等這幾個框架演算法。 整合學習在機器學習演算法中具有較高的準確率,不足之處就是模型的訓練過程可能比較複雜,效率不是很高。目前接觸較多的整合學習主要
Redis 學習筆記(十四)Redis Cluster介紹與搭建
Redis Cluster 介紹與搭建 1. Redis Cluster介紹 Redis Cluster是Redis的分散式解決方案,在Redis 3.0版本正式推出的,有效解決了Redis分散式方面的需求。當遇到單機記憶體、併發、流量等瓶頸時,可以採用Cl
Nodejs學習筆記(十四)— Mongoose介紹和入門 && Nodejs學習筆記(十)--- 與MongoDB的互動(mongodb/node-mongodb-native)、MongoDB入門
目錄 簡介 MongoDB 開源,高效能的NoSQL資料庫;支援索引、叢集、複製和故障轉移、各種語言的驅動程式;高伸縮性; node-mongodb-native mongodb的nodejs驅動; MongoDB安裝(windows) 按照官方說明在win7 64位