由于一些平台安全性的原因,Ubuntu手机目前暂时没有提供供第三方开发者发送短信及拨打电话的接口,但是在实际的应用中,我们也许会需要用到发送短信息或拨打电话。这个时候我们怎么办呢?我们在前面的文章“使用URL dispatcher的范例”中已经介绍了如何使用url dispatcher来调用第三方应用的方法。这里我们用该方法来展示如何在我们的应用中发送短信息及拨打电话。

首先,我们创建一个最简单的“App with Simple UI”模版应用,并修改我们的“main.qml”文件如下:

import QtQuick 2.0
import Ubuntu.Components 1.1
import Ubuntu.Components.ListItems 0.1 as ListItem/*!\brief MainView with a Label and Button elements.
*/MainView {// objectName for functional testing purposes (autopilot-qt5)objectName: "mainView"// Note! applicationName needs to match the "name" field of the click manifestapplicationName: "com.ubuntu.developer.liu-xiao-guo.phone"/*This property enables the application to change orientationwhen the device is rotated. The default is false.*///automaticOrientation: true// Removes the old toolbar and enables new features of the new header.useDeprecatedToolbar: falsewidth: units.gu(50)height: units.gu(75)Page {title: i18n.tr("Phone")function call(phonenumber) {Qt.openUrlExternally("tel:///" + encodeURIComponent(phonenumber))}function sendMessage(phonenumber, text) {Qt.openUrlExternally("message:///" + encodeURIComponent(phonenumber))}Column {spacing: units.gu(1)anchors {margins: units.gu(2)fill: parent}Row {anchors.horizontalCenter: parent.horizontalCenterLabel {anchors.verticalCenter: parent.verticalCentertext: i18n.tr("Number: ")}TextField {id: inputnumberplaceholderText: "please type your phone number"text: "1111111111"}}Button {width: parent.widthtext: i18n.tr("Call")onClicked: {call(inputnumber.text)}}ListItem.Divider {}Row {anchors.horizontalCenter: parent.horizontalCenterLabel {anchors.verticalCenter: parent.verticalCentertext: i18n.tr("Number: ")}TextField {id: inputnumber1placeholderText: "please type your phone number"text: "22222222222"}}TextEdit {id: messageText}Button {width: parent.widthtext: i18n.tr("Send Message")onClicked: {sendMessage(inputnumber1.text)}}}}
}

这个应用的设计非常简单。我们的UI如下:

我们在上面的号码输入框中输入自己想要拨打或发送短信的号码,按下“Call”或“Send Message”按钮,就可以拨打电话或发送短信了。只不过短信或电话的应用被调用起来来完成这个动作。从安全的角度来说,这个需要用户的交互才可以完成。对手机是非常安全的。我们使用了如下的代码来完成url dispatcher的工作:

      function call(phonenumber) {Qt.openUrlExternally("tel:///" + encodeURIComponent(phonenumber))}function sendMessage(phonenumber, text) {Qt.openUrlExternally("message:///" + encodeURIComponent(phonenumber))}

整个应用的完整代码在如下的地址可以找到:

bzr branch lp:~liu-xiao-guo/debiantrial/phone

怎么在Ubuntu手机上发送短信及拨打电话相关推荐

  1. 移动网页如何实现发送短信和拨打电话的功能

    手机页面实现发送短信和拨打电话的功能非常简单,只需要<a>标签加一个属性就可以了. 1.发送短信的功能 html前端代码: 1 <!DOCTYPE html> 2 <ht ...

  2. android 短信迁移到iphone,将安卓手机上的短信导入到iphone上的方法

    很多用安卓手机的朋友们换iphone5之后,之前手机里的一些数据想倒到新手机里都是比较棘手的问题,尤其是不同的操作系统,像android--ios这样,今天看到个新方法,特意转过来给大家分享一下,方法 ...

  3. android手机短信删除了怎么恢复,手机上的短信删除了怎么恢复?教你三步轻松解决...

    手机上的短信删除了怎么恢复?怎样找回安卓手机中丢失的短信记录?随着经济的不断发展,手机的使用率越来越大,而更多用户使用的是安卓手机.我们通常会在手机中储存很多的的短信信息,但是当短信很多的时候我们就需 ...

  4. 手机异步发送短信验证码解决方案-Celery+redis

    Celery介绍和使用 一.Celery介绍: 一个简单.灵活且可靠.处理大量消息的分布式系统,可以在一台或者多台机器上运行. Celery是一个功能完备即插即用的任务队列 单个 Celery 进程每 ...

  5. 如何通过发送短信办理移动电话卡流量套餐

    GPRS:2元30M,5元150M,10元300M 一:用两元开通30M流量方法.发送短信H1到10086,发H2加一个本地移动号如:(H213550471555)到10086发HjHB到10086查 ...

  6. 【iPhone】手机上接收短信同步转发到iPad和Mac,为什么没有短信转发解决办法

    开启短信转发   当iPad和Mac上登录的都是同一个AppleID时,可以开启短信转发,这样三个设备可以同时收到短信,非常方便. 设置->信息->发送与接收->最下面的蓝字Appl ...

  7. android 拨打电话与发送短信

    通过调用android系统提供的电话与短信功能,可以简单的实现发送短信,拨打电话,但是必须在AndroidManifest.xml里面配置相应权限,定位到 1 <application 2 3 ...

  8. 脚本控制向Android模拟拨打电话,发送短信,定位设置功能

    做行为触发的时候要向模拟器实现拨打电话,发送短信,定位设置的的功能,可以很方便通过telnet localhost  5554实现. 写个脚本很快的搞定了.网上资料很多,脚本的很少,也所积点德啦. 写 ...

  9. 手机注册(发送短信验证码)

    手机注册(发送短信验证码) 去阿里开通短信服务,accesskey号然后创建签名 复制粘贴代码就可使用,根据指导修改就ok 如有报错 不能使用 还请大家谅解.(没有经过作者同意,禁止修改代码,盗用(利 ...

最新文章

  1. 802.11发展到802.11g历程
  2. ERP开放平台定制化远程高效协作秘笈
  3. Sublime Text3—Code Snippets(自定义代码片段)
  4. 植物大战僵尸不能保存进度
  5. 苹果笔记本能不能用python_“苹”除了苹果还能组哪些词?苹组词,释义及造句汇总!...
  6. matlab安装第三方库,Matlab调用cpp+第三方库
  7. BZOJ3139: [Hnoi2013]比赛
  8. Scala学习(一、环境配置和基础)
  9. 模板题——图论相关(1)
  10. 第三季-第19课-消息队列编程
  11. 收藏!Tengine问题排查必备
  12. adb—fastboot—Download Honor 4C ClockworkMod (Cofface) Custom Recovery
  13. 微信公众号登陆、模板发送、access_token获取 PHP代码
  14. QA:filter-自适应均衡器
  15. 飞鹅云打印 API_C#
  16. 关闭455端口相关服务
  17. chrome的视频播放加速功能也太好用了。
  18. 基于光流传感器定位和导航的自主飞行无人机
  19. 一文搞懂“如何通过群晖+DNSPod DDNS搭建私有云服务?”
  20. Win10 1809 PowerShell美化教程

热门文章

  1. 【uniapp】 读取手机通讯录权限
  2. English Learning - Day3 作业打卡 2022.12.9 周五
  3. UG/NX二次开发Siemens官方NXOPEN实例解析—1.6 BlockStyler/SelectionExample
  4. 【如何在寒武纪MLU上进行算法移植】-概述
  5. 安装配置Tomcat6教程
  6. 高通SDX12:USB2.0 端口枚举失败问题分析及解决方案
  7. 4.根据提示,完成下面的程序。#include<stdio.h>typedef struct date {int year;int month;int day;} Date;void
  8. 小米 android 8.1手机,小米又一款手机获得安卓8.1系统更新!
  9. 24点游戏的递归解法和Python实现
  10. WebRTC学习笔记七 pion/webrtc