ADC推荐:在手机应用程序上使用tel: and sms: URI

本文由ADC中文站推荐

一个统一资源标识符(URI)是一个用来标识资源的字符串。例如,在一个网页,你点击一个内嵌有mailto URI的e-mail ID,你系统默认的e-mail客户端就会打开到To(收件人)是e-mail ID的界面。Adobe AIR 2.5现在提供了两个新的URI方案,tel: 和 sms: ,去访问系统的电话拨号器和SMS应用程序。

注意,tel:和sms:在不同的设备和不同的平台上有不同的表现。例如,如果一个设备的SMS程序配置不正确,sms: URI就无效了。同样的,在Android上,URI必须是小写的。
在这篇文章里,你会学习使用:

  • tel: URI 和 navigateToURL() 配合使用
  • sms: URI 和 navigateToURL() 配合使用
  • sms: 和 tel: URI 在textField中当超级链接使用

要求

为了充分利用本文,您需要以下软件:

Flash Builder 4

Flash Professional CS5

需要第三方产品

  • Android 2.2 device or emulator
  • Android SDK

必备知识

  • 熟悉 ActionScript 3。

使用TEL:URI

使用tel:URI去运行系统的电话拨号器,需要创建一个含有电话号码的URLRequest对象,并把这个URLRequest对象传递到flash.net包中的navigateToURL()方法。可以参考下面的例子:

  1. public function call():void
  2. {
  3. const callURL:String="tel:1234567890";
  4. var targetURL:URLRequest = new URLRequest(callURL);
  5. navigateToURL(targetURL);
  6. }

当函数在电话上运行,默认的电话拨号器会根据输入的电话号码运行(用户必须通过按下call按钮初始化phone call)。

图1展示在一部Android手机上使用tel:URI打开电话拨号器

1. 展示如何在一部Android手机上使用tel:URI打开电话拨号器。

使用SMS:URI

使用sms:URI的方法和你使用tel: URI的方法是完全一样的:

  1. public function sms():void
  2. {
  3. const callURL:String="sms:1234567890";
  4. var targetURL:URLRequest = new URLRequest(callURL);
  5. navigateToURL(targetURL);
  6. }

当函数在电话上运行,默认的SMS客户端会根据已经输入的电话号码运行,如图2所示。

2. 默认的SMS客户端根据已经输入的电话号码运行。

注意:由于android操作系统的限制,当前并不支持设置sms:URI中的主体文本。

TEXTFIELD中使用TEL:和SMSURI

一个TextField对象能够显示简单的HTML内容。你可以在HTML超级链接中使用tel:和sms:URI。例如,下面的代码创建了一个显示超级链接的textfield。

  1. var call:TextField = new TextField();
  2. call.htmlText ="Call";

当用户点击Call连接,应用程序就运行系统的电话拨号器。同样的,你可以创建一个含有sms:URI的超级链接。

进一步学习

在这篇文章,你学习了在应用程序中如何使用tel:和sms:URI。更多的信息,请参考在线帮助文档ActionScript APIs specific to mobile AIR applications*

关于作者

Adobe

ADC中文站原文地址: http://www.adobe.com/cn/devnet/air/quick_start_as/quickstarts/qs_using_uris.html

riadevID: 
您给予的分值: None 平均分: 5.4 ( 182 票)

发表新评论

  • 网页地址和电子邮件地址将会被自动转换为链接。
  • 行和段被自动切分。
  • 您可以使用下面的标签来高亮显示您的评论内容: <code>, <blockcode>. 可以使用"[foo]".旁边显示标签样式 "<foo>" PHP代码可以用这样的区块来包含<?php ... ?> or <% ... %>

更多格式化选项信息

验证区域
系统验证:请回答下面的问题