iPhone桌面快捷电话的实现原理

来源:互联网 发布:英文介绍淘宝网 编辑:程序博客网 时间:2024/05/01 09:16

众所周知,Safari有一个“添加至主屏幕”的功能,其实就是在桌面添加了一个网页书签,本文讲述的是如何利用此功能实现桌面快捷电话。

 

一,主要用到的技术知识有以下几个(当然iPhone程序开发技能自然不可少)

1. JavaScript

2. Data URI Schema

3. Socket基本知识

4. Base64编码

 

二,基本原理

 程序内部创建一个简单的Web站点,通过这个站点调用Safari,站点将自定义的Html页面返回给Safari,此时利用Safari的“添加至主屏幕”功能,将自定义的Html制作成桌面书签,当用户点击桌面图标时,则运行自定义的Javascript脚本拨打电话。

 

三,实现方法

1. 创建一个简易的Web站点,代码如下:

 

 

2. 制作Html页面模板,代码如下,请注意代码中$XXX$标识串,主要在程序中将其替换成实际内容

 

 

3. 程序调用Safari

  (1) 使用[[UIApplication sharedApplication]openURL:]方法,url地址为自定义的web站点,如http://localhost:端口号。

      (2) 在Web站点中的handleWebRequest方法中,将自定义的html内容发送给safari

 

 

4. 程序在info.plist中注册自定义schema,此处主要解决浏览器拨打时会弹出确认对话框,所以先打开我们的程序,通过程序去拨打电话,代码如下: