1. 程式人生 > >iOS內嵌WKWebView撥打電話、發簡訊、發郵件沒反應

iOS內嵌WKWebView撥打電話、發簡訊、發郵件沒反應

iOS內嵌WKWebView撥打電話沒反應

 <a href="tel:13112345678">撥打號碼</a> 

內嵌H5的傳送簡訊,打電話,傳送郵件程式碼的處理
實現webview的代理方法

swift3.0 程式碼:

    // 處理撥打電話、發簡訊、發郵件以及Url跳轉等等 
    func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Swift.Void
) { if navigationAction.request.url?.scheme == "tel" { // DispatchQueue.main.async { UIApplication.shared.openURL(navigationAction.request.url!); decisionHandler(WKNavigationActionPolicy.cancel) // } } else if navigationAction.request
.url?.scheme == "sms"{ //簡訊的處理 UIApplication.shared.openURL(navigationAction.request.url!); decisionHandler(WKNavigationActionPolicy.cancel) } else if navigationAction.request.url?.scheme == "mailto"{ //郵件的處理 UIApplication.shared
.openURL(navigationAction.request.url!); decisionHandler(WKNavigationActionPolicy.cancel) } else{ decisionHandler(WKNavigationActionPolicy.allow) } }

OC程式碼:

// 處理撥打電話以及Url跳轉等等
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
    NSURL *URL = navigationAction.request.URL;
    NSString *scheme = [URL scheme];
    if ([scheme isEqualToString:@"tel"]) {
        NSString *resourceSpecifier = [URL resourceSpecifier];
        NSString *callPhone = [NSString stringWithFormat:@"telprompt://%@", resourceSpecifier];
/// 防止iOS 10及其之後,撥打電話系統彈出框延遲出現
        dispatch_async(dispatch_get_global_queue(0, 0), ^{
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:callPhone]];
        });
    }
    else {
    decisionHandler(WKNavigationActionPolicyAllow);
    }
}

傳送簡訊、郵件和打電話方式一樣

相關推薦

iOSWKWebView撥打電話簡訊郵件反應

iOS內嵌WKWebView撥打電話沒反應 <a href="tel:13112345678">撥打號碼</a> 內嵌H5的傳送簡訊,打電話,傳送郵件程式碼的處理 實現

iOS開發:APP撥打電話簡訊郵件功能

在iOS開發過程中,經常會用到點選公司簡介的電話號碼,會直接撥打電話;或者點選網址連結發郵件,點擊發簡訊按鈕直接發簡訊等,這些功能雖小,但很實用。 一、撥打電話功能: 通過app撥打電話有三種方式,具體程式碼如下所示: 1.直接跳轉到撥打電話介面,不彈出撥打電話提示框,打完

ios頁面 兼容問題

兼容 res num valid for ext title orm mes new Date(date + time)的時候在Safari瀏覽器解析為 new Date(2017-06-13 13:56) Error new Date(‘2017-06-13

androidwebview元件渲染頁面 ioswebview?元件渲染頁面 微信裡的頁面用什麼瀏覽器開啟

1.android內嵌webview元件渲染頁面     ios內嵌webview?元件渲染頁面 webview相當於瀏覽器? https://www.cnblogs.com/limeiky/p/5818463.html 2.微信裡的頁面用什麼瀏覽器開啟 p.p1 { m

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

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

Swift IOS中的常用操作(開啟網頁簡訊打電話郵件

// // ViewController.swift // Other // // Created by 顧傑 on 15/11/26. // Copyright © 2015年 GuJie. All rights reserved. // import UIKit <span style="

iOS兩種呼叫撥打電話方式(親測)

iOS使用系統撥打電話常用有兩種方式 1.第一種 [[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"tel://10010"]]; 2.第二種(別忘了tel:) UIWebView * callW

iOS 打電話簡訊郵箱 跳轉網站 功能(系統方法)

//聯絡人:石虎  QQ: 1224614774暱稱:嗡嘛呢叭咪哄 /** 注意:打電話、發簡訊、發郵箱 、跳轉網站 功能(系統方法)---->要真機才有效果 */ 1.簡單實現效果圖:

iosqq分享-終端開放SDK使用文件

本文轉自手機qqApi使用文件:http://mobile.qq.com/api/index.html [微信的類似:http://open.weixin.qq.com/document/gettingstart/ios/?lang=zh_CN] 1.

Android/iOSUnity開發示例

Unity 與 Android/iOS 交叉開發主要有兩種方式,以 Android 為例,一是 Android 生成 jar 或者 aar 包,匯入到 unity3d plugin/bin/ 目錄下;**二是 Unity 匯出 Android 工程,在 Android Studio 中作為庫繼續開發**。網上

Android html5 打電話簡訊郵箱等

TextView tv_html = (TextView) findViewById(R.id.tv_html); String str ="Html文字"; tv_html.setText(Htm

OCiOS開發:簡訊郵件打電話及搖一搖實現

簡介 在iOS開發中,可能會用到發簡訊、發郵件、打電話及搖一搖等功能,比如在應用程式的‘關於’介面,我們可能會留下電話號碼或郵箱等聯絡方式,為了方便使用者直接在應用程式中做操作,提升使用者體驗,我們會設計一些互動動作,讓使用者輕鬆的去發簡訊、打電話或發郵件等。

java分組批量執行,簡訊建立Lucene索引(應用場景)

//新聞總數public void method(){ int countNum = LuceneService.getMyLuceneInformationsCount(null); // int count = 100; int groupNum

移動端JS呼叫QQ,撥打電話,傳送簡訊

1、QQ諮詢2、撥打電話<a href="tel:15676780848"><strong>熱線諮詢</strong></a> 3、傳送簡訊 <

免費的午餐——程式設計利用Google日曆API簡訊Email

Google日曆是相當優秀的日程管理工具,可以方便的組織、分享各類日程,Google還提供了貼心而免費的手機簡訊、Email提示功能,真是非常的贊。 此外Google還公開了其API,使得我們可以通過各種語言程式設計訪問。 下面我們就要利用此類庫,及Google日曆的免費

前端html自動撥打電話,傳送簡訊,將號碼存到通訊錄,安卓錯誤net::err unknown url scheme

一、一般的web處理 1、撥打電話 <a href="tel:10086">撥打10086</a> 2、傳送簡訊 <a href="sms:10086"&g

HTML在手機上實現直接撥打電話以及傳送簡訊

 <a href="tel:15162542562″>撥打電話</a> 在鈴看到的一種方式  <a href="wtai://wp/mc;15162542562″>撥打電話</a> 接下來看傳送簡訊的方法 &l

程式設計利用Google日曆API簡訊Email

Google日曆是相當優秀的日程管理工具,可以方便的組織、分享各類日程,Google還提供了貼心而免費的手機簡訊、Email提示功能,真是非常的贊。 此外Google還公開了其API,使得我們可以通過各種語言程式設計訪問。 下面我們就要利用此類庫,及Google日曆的免

html a 標籤實現打電話,簡訊郵件,查地圖功能

<html>     <head>         <meta charset="utf-8">         <title></title>         <style>         a{di

html,js打電話,撥號,簡訊郵件,啟用Android市場,地圖定位GP

如果需要在移動瀏覽器中實現撥打電話,呼叫sms,傳送email等功能,移動手機WEB頁面(HTML5)Javascript提供的介面是一個好辦法。採用url連結的方式,實現在Safari ios,Android 瀏覽器,webos瀏覽器,塞班瀏覽器,IE,Operamini等