• 5279阅读
  • 6回复

qt调用安卓打电话程序! [复制链接]

上一主题 下一主题
离线angelus
 

只看楼主 倒序阅读 楼主  发表于: 2017-05-27
用Qt开发安卓经常要调用android的API,这是一个很麻烦的事情,还好qt的扩展模块增加了 androidextras。

具体的使用说明在事例程序中,都有注释,直接看吧!

示例 tel.zip (63 K) 下载次数:93



有什么不懂的可以回帖!
程序在android 6.0 7.0 上测试通过!
开发环境是 qt5.9rc版

有关 androidextras模块的知识,大家可以去这个博客看看

http://blog.csdn.net/foruok/article/details/43459069

作者就是写 了 两本 qt书的 大神! 讲解的非常细致!







离线angelus

只看该作者 1楼 发表于: 2017-05-27
在安卓中调用类型非常多,下边列出来,可以自己比照去尝试实现!

1,调web浏览器
Uri myBlogUri = Uri.parse("http://xxxxx.com");
returnIt = new Intent(Intent.ACTION_VIEW, myBlogUri);
2,地图
Uri mapUri = Uri.parse("geo:38.899533,-77.036476");
returnIt = new Intent(Intent.ACTION_VIEW, mapUri);
3,调拨打电话界面
Uri telUri = Uri.parse("tel:100861");
returnIt = new Intent(Intent.ACTION_DIAL, telUri);
4,直接拨打电话
Uri callUri = Uri.parse("tel:100861");
returnIt = new Intent(Intent.ACTION_CALL, callUri);
5,卸载
Uri uninstallUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri);
6,安装
Uri installUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);
7,播放
Uri playUri = Uri.parse("file:///sdcard/download/everything.mp3");
returnIt = new Intent(Intent.ACTION_VIEW, playUri);
8,调用发邮件
Uri emailUri = Uri.parse("mailto:xxxx@gmail.com");
returnIt = new Intent(Intent.ACTION_SENDTO, emailUri);
9,发邮件
returnIt = new Intent(Intent.ACTION_SEND);
String[] tos = { "xxxx@gmail.com" };
String[] ccs = { "xxxx@gmail.com" };
returnIt.putExtra(Intent.EXTRA_EMAIL, tos);
returnIt.putExtra(Intent.EXTRA_CC, ccs);
returnIt.putExtra(Intent.EXTRA_TEXT, "body");
returnIt.putExtra(Intent.EXTRA_SUBJECT, "subject");
returnIt.setType("message/rfc882");
Intent.createChooser(returnIt, "Choose Email Client");
10,发短信
Uri smsUri = Uri.parse("tel:100861");
returnIt = new Intent(Intent.ACTION_VIEW, smsUri);
returnIt.putExtra("sms_body", "yyyy");
returnIt.setType("vnd.android-dir/mms-sms");
11,直接发邮件
Uri smsToUri = Uri.parse("smsto://100861");
returnIt = new Intent(Intent.ACTION_SENDTO, smsToUri);
returnIt.putExtra("sms_body", "yyyy");
12,发彩信
Uri mmsUri = Uri.parse("content://media/external/images/media/23");
returnIt = new Intent(Intent.ACTION_SEND);
returnIt.putExtra("sms_body", "yyyy");
returnIt.putExtra(Intent.EXTRA_STREAM, mmsUri);
returnIt.setType("image/png");

这是我自己copy的,对错没验证多!
离线15145093145

只看该作者 2楼 发表于: 2017-05-27
一直这么干。。除了这么干,还有其他方式吗?
离线15145093145

只看该作者 3楼 发表于: 2017-05-27
你用5.9了, 5.9 quick加什么控件没有? qt5.7竟然连一个时刻控件都没有,我也是醉了,  用tumbler总感觉不舒服
离线angelus

只看该作者 4楼 发表于: 2017-05-28
回 15145093145 的帖子
15145093145:一直这么干。。除了这么干,还有其他方式吗?[表情]  (2017-05-27 11:30) 

在android端口没有合并到 q t上的时候,使用的是写java代码然后用qt调用的!
现在不用自己写java代码了!
离线angelus

只看该作者 5楼 发表于: 2017-05-28
回 15145093145 的帖子
15145093145:你用5.9了, 5.9 quick加什么控件没有? qt5.7竟然连一个时刻控件都没有,我也是醉了,  用tumbler总感觉不舒服 (2017-05-27 11:32) 

特殊要求可以自己用基础控件实现就行,没有枪炮就自己造!
离线liuchangyin

只看该作者 6楼 发表于: 2017-07-30
快速回复
限100 字节
 
上一个 下一个