1. 程式人生 > >OC_呼叫系統簡訊_郵件_電話

OC_呼叫系統簡訊_郵件_電話

//我們應用中也是常常會用到這些應用,這裡說一些常用且好理解的方法!

#import "NewViewController.h"
#import <MessageUI/MessageUI.h>

@interface NewViewController ()<MFMailComposeViewControllerDelegate,MFMessageComposeViewControllerDelegate>//郵件代理  簡訊代理 這兩個主要是使用者操作回撥

@end

@implementation NewViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    NSArray *arr = @[@"電話",@"簡訊",@"郵件"];
    for(int i = 0;i<6;i++)
    {
        UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
        btn.frame = CGRectMake(10+i%3*100, 80+i/3*150, 100, 60);
        [btn setTitle:arr[i%3] forState:UIControlStateNormal];
        [self.view addSubview:btn];
        btn.tag = 1000+i;
        [btn addTarget:self action:@selector(btnDown:) forControlEvents:UIControlEventTouchUpInside];
    }
    
    UILabel *lab = [[UILabel alloc] initWithFrame:CGRectMake(0, 150, 320, 40)];
    lab.text = @"我上面是直接跳轉開啟,下面更加高階一點的支援預定義";
    [self.view addSubview:lab];

}

-(void)btnDown:(UIButton*)btn
{
    switch (btn.tag) {
        case 1000:
        {//關鍵字:tel  直接撥打電話,不會有任何提示
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://13811111234"]];
            break;
        }
        case 1001:
        {//關鍵字:sms  收件人直接為13811111234,無簡訊內容
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://13811111234"]];
            break;
        }
        case 1002:
        {//關鍵字:mail  定義好了郵件接受者,無任何內容
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://
[email protected]
"]]; break; } case 1003: {//通過webView呼叫 會有一個系統的提示確認是否呼叫 NSURL *phoneURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",@"13811111234"]]; UIWebView *phoneCallWebView = [[UIWebView alloc] initWithFrame:CGRectZero]; [phoneCallWebView loadRequest:[NSURLRequest requestWithURL:phoneURL]]; [self.view addSubview:phoneCallWebView]; break; } case 1004: { //例項化messageController,可以預先定義傳送簡訊內容 MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init]; if([MFMessageComposeViewController canSendText]) {//判斷裝置能否實現發簡訊功能 controller.body = @"恭喜您!春天種了一個蘋果表,秋天收到一個破蘋果表"; controller.recipients = @[@"10010",@"10086"]; //簡訊接收物件 controller.messageComposeDelegate = self; //簡訊功能回撥 [self presentViewController:controller animated:YES completion:nil]; } break; } case 1005: { NSData *imageData = UIImagePNGRepresentation([UIImage imageNamed: @"icon.png"]); MFMailComposeViewController *mailPicker = [[MFMailComposeViewController alloc] init]; //例項化郵件VC mailPicker.mailComposeDelegate = self; <pre name="code" class="objc"> [mailPicker setSubject: @"我是主題,主題,主,題....."]; //設定主題 [mailPicker setToRecipients: @[@"
[email protected]
",@"[email protected]"]]; // 添加發送者,是個陣列 [mailPicker addAttachmentData: imageData mimeType: @"" fileName: @"icon.png"]; // 新增圖片 [mailPicker setMessageBody:@"我是郵件的正文" isHTML:YES]; //新增正文 [self presentViewController:mailPicker animated:YES completion:nil]; //將mailController彈出 break; } default: break; } } /** * 郵件傳送後回撥 * * @param controller 檢視控制器物件管理郵件組合檢視。 * @param result 使用者行為返回結果 * @param error 如果出現錯誤,會包含錯誤物件和錯誤資訊 */ - (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error { NSString *msg; switch (result) { case MFMailComposeResultCancelled: msg = @"郵件傳送取消"; break; case MFMailComposeResultSaved: msg = @"郵件儲存成功"; break; case MFMailComposeResultSent: msg = @"郵件傳送成功"; break; case MFMailComposeResultFailed: msg = @"郵件傳送失敗"; break; default: break; } [self dismissViewControllerAnimated:YES completion:nil]; } /** * 簡訊行為回撥 * * @param controller 檢視控制器物件管理郵件組合檢視。 * @param result 使用者返回結果 */ - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result { [self dismissViewControllerAnimated:YES completion:nil];//將messageController移除 if (result == MessageComposeResultCancelled)//返回值為取消 { NSLog(@"Message cancelled"); } else if (result == MessageComposeResultSent)//返回值為發出 { NSLog(@"Message sent"); } else//其他問題 { NSLog(@"Message failed"); } } @end

相關推薦

OC_呼叫系統簡訊_郵件_電話

//我們應用中也是常常會用到這些應用,這裡說一些常用且好理解的方法! #import "NewViewController.h" #import <MessageUI/MessageUI.h> @interface NewViewController ()&

Android核心技術-day06-03-呼叫系統簡訊傳送(不需要授權)

package com.gaozewen.sendsms; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.support.v7.app.AppCom

Android 呼叫系統郵箱傳送郵件

做需求遇到了需要調起系統郵箱並且顯示特定標題 因此去搜索了 N 多資料查詢怎麼實現 val uri = Uri.parse(activity.getString(R.string.tip_em

RN-呼叫系統電話簡訊郵件、瀏覽器

第一種方法: Linking:呼叫系統的電話、簡訊、郵件、瀏覽器等功能http://www.jianshu.com/p/3217b5ec7242 Linking.canOpenURL(this.props.url).then(supported =>

iOS呼叫系統傳送簡訊郵件分享

  //傳送郵件 -(void)sendMail:(NSString*)subject content:(NSString*)content{ MFMailComposeViewController*controller = [[[MFMailComposeViewCon

iOS應用呼叫系統打電話、發簡訊和發郵件功能

摘要: 在應用程式內,呼叫系統的功能來實現打電話、發簡訊和發郵件,通過電話號碼或者郵箱,直接跳轉到系統的功能介面。 PS:除錯好像只能真機除錯,模擬器沒有反應,真機就可以跳轉,不知道是不是必須真機,但方法肯定是可行的。 1、打電話 應用內呼叫系統打電話有兩種方式: 1

iPhone呼叫簡訊電話郵件,提示框的方法之一

+ (void)alert:(NSString *)msg {     UIAlertView *alertView = [[[UIAlertView alloc] initWithTitle:msg message:@"" delegate:self cancelButtonTitle:@"OK" othe

呼叫撥打電話介面、直接撥打電話呼叫傳送簡訊的介面、呼叫系統瀏覽器

呼叫撥打電話介面 主要程式碼如下: //Intent.ACTION_DIAL= "android.intent.action.DIAL"; //不需要什麼許可權 Intent intent =

iOS關於系統簡訊電話呼叫

在網上搜索很多資料和帖子,也看了蘋果的開發文件,iOS對系統呼叫的限制很嚴格 對於非越獄的手機,我們能做的就是監聽來電的狀態,但不能獲取來電號碼;可以撥打電話,但需要在ios 的標準使用者介面下進行;可以傳送簡訊,但仍需要通過ios的標準使用者介面;對於接收到的簡訊,就無能

系統管理模塊_崗位管理_實現CRUD功能的具體步驟並設計Role實體

xtend delet 實現 result action == b- actions asto 系統管理模塊_崗位管理_實現CRUD功能的具體步驟並設計Role實體 1,設計實體/表   設計實體 --> JavaBean --> hbm.xml -->

系統管理模塊_部門管理_改進_抽取添加與修改JSP頁面中的公共代碼_在顯示層抽取BaseAction_合並Service層與Dao層

commons drive edt exc 第一個 接口實現類 style ear http 系統管理模塊_部門管理_改進1:抽取添加與修改JSP頁面中的公共代碼 commons.jspf <%@ page language="java" import="java.

Linux系統常識.北京快_三搭建文件命令.vim命令.路徑命令介紹

進程 size start art 文件夾 dia 當前目錄 窗口 上下左右鍵 1.北京快_三搭建 Q1446595067 linux是一個基於GNU組合軟件和linux內核所構成的集和。2.什麽是shell? 我們常聽到shell,shell的,但什麽是shell呢?sh

基於WebGIS的Web服務器日誌管理系統設計與實現_愛學術——免費下載

富客戶端 平臺 .com 服務器日誌 操作 shu 實現 c51 bsp 【摘要】WebGIS優勢是通過互聯網對地理空間數據進行發布和應用,以實現空間數據的共享和相互操作。將WebGIS和富客戶端技術引入Web服務器日誌管理領域,從總體設計、數據庫設計、實現框架等幾個方面設

基於Web的企業排班管理系統設計與實現_愛學術——免費下載

安全 html 快速 開發框架 管理 document 企業 search src 【摘要】隨著我國企業的快速發展,落後的排班方式正日益影響企業的工作效率。本文即探討基於Web的企業排班管理。提出基於SSH開發框架並結合MVC設計模式來開發企業排班管理系統,提高系統的安全性

iOS 呼叫系統傳送郵件

第一步 匯入messageUI.framework框架 第二步 匯入標頭檔案 #import <MessageUI/MessageUI.h> 第三步 @property (nonatomic,strong)  MFMailComposeViewCon

資料表示、定址方式與指令系統_計算機系統結構第二章_自考本科

概要:計算機系統結構第二章資料表示、定址方式與指令系統知識點小結 一、資料表示(應用) 1、資料表示的定義,資料表示與資料結構的關係     定義:能由計算機硬體識別和引用的資料型別,表現再它有對這種型別的資料進行操作的指令和運算部件 &nbs

概論_計算機系統結構第一章_自考本科

概要:計算機系統結構第一章概論知識點小結 一、計算機系統的多層次結構(識記) 1、現代通用計算機系統可分為哪幾級,他們的相對位置     第5級:應用語言級;經應用程式包翻譯成高階語言程式     第4級

iOS 適配 iOS11,會引起呼叫系統相簿、分享郵件系統介面上移問題

適配 iOS11,避免滾動檢視頂部出現20的空白,全域性設定了UIScrollView。 if (@available(iOS 11.0, *)) {   [[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollView

呼叫系統的撥打電話

注意:一下三種方法所說的彈框問題針對 10.2 以前的版本,10.2 以後系統無論哪種方法都會彈出提示框。 1,這種方法,撥打完電話回不到原來的應用,會停留在通訊錄裡(注意這裡的tel),而且是直接撥打,不彈出提示   NSMutableString &n

工程驗收工作筆記001---系統等保級別_系統等級保護

    JAVA技術交流QQ群:170933152  一說等保二級,啥是等保二級,剛知道,恕我愚昧.. 具體的某個等級,都有具體的要求,比如建築要求等等....   等級保護測評第一步就是系統定級,可是究竟如何定級呢?怎樣定級最合