Android调用系统打电话和发短信功能
一、打电话
1、添加打电话的权限在manifast文件中。
<uses-permission Android:name="android.permission.CALL_PHONE"/>
2、使用Uri.parse(String a)创建Uri。
Uri uri = Uri.parse("tel:"+1008611);
3、创建打电话的意图。
Intent intent = new Intent(Intent.ACTION_CALL, uri);
4、启动系统打电话页面。
startActivity(intent);
二、发短信
方式一:直接发送短信
1、添加发送短信的权限在manifast文件中。
<uses-permission android:name="android.permission.SEND_SMS"/>
2、获取android.telephony.SmsManager对象(PS:android.telephony.gsm.SmsManager已经废弃)。
SmsManager smsManager = SmsManager.getDefault();
3、声明一个短信内容的常量。
String content = "Hello World!";
4、将短信内容分块,发送一条短信最多能够发送70个中文字符,超过这个值系统会将短信内容分为多块进行发送。
ArrayList<String> list = smsManager.divideMessage(content);
5、分条进行发送。
for (int i = 0; i < list.size(); i++) {
smsManager.sendTextMessage("10086", null, list.get(i), null, null);
}
方式二:调用系统的发送短信的界面,需要输入号码
1、创建意图
Intent intentFinalMessage = new Intent(Intent.ACTION_VIEW);
2、设置类型
intentFinalMessage.setType("vnd.android-dir/mms-sms");
3、打开系统短信界面
startActivity(intentFinalMessage);
方式三:调用系统的发送短信的界面,不需要输入号码
1、创建Uri,设置行为和号码
Uri uri2 = Uri.parse("smsto:"+10086);
2、创建意图。
Intent intentMessage = new Intent(Intent.ACTION_VIEW,uri2);
3、打开系统短信界面,号码已经填写,只需填写要发送
startActivity(intentMessage);
三、sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntentsentIntent, PendingIntent deliveryIntent)
参数说明:
1、destinationAddress:给这个号码发送短信。
2、scAddress:使用这个号码发送短信,为null时表示使用本机发送。
3、text:短信内容。
4、sentIntent:发送短信成功或失败之后发送广播。
5、deliveryIntent:对方接受到短信之后发送广播。
四、发送广播的短信发送
1、注册广播
注册自己发送短信的广播:
SEND_SMS_ACTION = "3";
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
//根据结果码判断是否发送成功
if(Activity.RESULT_OK == getResultCode()){
Toast.makeText(MainActivity.this, "发送成功", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity.this, "发送失败", Toast.LENGTH_SHORT).show();
}
}
}, new IntentFilter(SEND_SMS_ACTION));
注册对方接受到短信的广播:
BACK_SMS_ACTION = "4";
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
//只要接收到这个广播,表示接收短信成功
Toast.makeText(MainActivity.this, "对方接收到短信", Toast.LENGTH_SHORT).show();
}
}, new IntentFilter(BACK_SMS_ACTION));
2、发送 短信,监听发送情况、监听对方接受情况,如果短信发送成功或失败
PendingIntent.getBroadcast(MainActivity.this, 0, new Intent(SEND_SMS_ACTION), 0)会发送广播,
如果对方接受到短信
PendingIntent.getBroadcast(MainActivity.this, 0, new Intent(BACK_SMS_ACTION), 0));会发送广播
for (int i = 0; i < list.size(); i++) {
smsManager.sendTextMessage("10086", null, list.get(i),
PendingIntent.getBroadcast(MainActivity.this, 0, new Intent(SEND_SMS_ACTION), 0),
PendingIntent.getBroadcast(MainActivity.this, 0, new Intent(BACK_SMS_ACTION), 0));
}
五、使用smsManager发送其它格式的短信
1、sendDataMessage(String destinationAddress, String scAddress, short destinationPort, byte[] data, PendingIntent sentIntent, PendingIntent
deliveryIntent)
其它参数一样,第三个参数
short destinationPort,给这个号码的这个端口号发送这条短信,短信内容为字节数组格式。
2、
sendMultipartTextMessage(String destinationAddress, String scAddress, ArrayList<String> parts,ArrayList<PendingIntent> sentIntents, ArrayList<PendingIntent> deliveryIntents)
给这个号码发送多条短信。
Android调用系统打电话和发短信功能相关推荐
- html调用手机打电话、发短信功能
在html头部里面加上: <meta name="format-detection" content="telephone=yes"/> 在需要拨打 ...
- android 发短信意图,android代码实现打电话和发送短信功能
android代码实现打电话和发送短信功能 发布时间:2020-05-27 11:57:17 来源:亿速云 阅读:172 作者:鸽子 1.XML布局 xmlns:app="http://sc ...
- H5页面调用手机打电话、发短信、传邮件功能
问题背景 在h5页面,点击某个按钮或图标时,调起手机打电话.发短信以及传邮件的功能,可以用一个很简单的方法实现 解决方法 在需要的地方加上标签,点击即可调起相关功能弹窗 <!-- 打电话 --& ...
- python+twilio实现打电话和发短信功能
python和twilio实现发送短信功能 最近突发奇想,,python能不能实现打电话和发短信,通过查找资料,还真可以, 如果只是用自己的手机打电话的话,可以借助appium这个来实现,原理其实和s ...
- linux 模拟打电话,Android 调用打电话和发短信功能
1.打电话 可以自己写界面,在button的单击事件中添加如下代码即可: Intent intent = new Intent(); intent.setAction("Android.in ...
- Android模拟器模拟打电话,发短信
启动模拟器 并 连接成功 C:\Users\BillGates>telnet localhost 5554(模拟器端口号) Android Console: type 'help' for a ...
- Python + twilio 实现打电话和发短信功能
相信大家生活中常常会有接到骚扰电话的经历,电话接通后发现是个机器人说话而不是真人!当时就想这又是哪个黑心厂家招人写了垃圾程序来祸国殃民,真的是气不打一处来! 今天快下班时候突然想起这个,就想着用pyt ...
- python打电话 不接通不收钱,Python + twilio 实现打电话和发短信功能
相信大家生活中常常会有接到骚扰电话的经历,电话接通后发现是个机器人说话而不是真人!当时就想这又是哪个黑心厂家招人写了垃圾程序来祸国殃民,真的是气不打一处来! 今天快下班时候突然想起这个,就想着用pyt ...
- 前端 html5页面调用手机打电话,发送短信功能
<head>里面加上:<meta name="format-detection" content="telephone=yes"/> 需 ...
最新文章
- jQuery操作Select
- [MIPS汇编语言]InsertionSort插入排序
- 解释afterPropertiesSet
- Windows 系统如何查看本机的 IP 地址
- iis自带的ftp服务器权限设置方法,IIS ftp 权限控制
- iOS实现简书的账号识别方式(正则表达式)
- 使用java的java 命令,直接调用执行class文件
- 【Luogu4921】情侣?给我烧了!(组合计数)
- 运筹优化(三)--线性规划之单纯形法
- 给linux用户的11个高级MySQL数据库面试问题和答案
- 重拾《 两周自制脚本语言 》- 支持中文标识符
- c语言自学方式,c语言学习方法
- 《概率论与数理统计》重学笔记
- Excel如何将一列数据转为一行?
- 大厂面试快问快答,10分钟搞定MySQL夺命20问,你都能接住吗?
- PAT甲级1146 Topological Order (25 分)
- mysql b 树 字符串索引_Mysql从入门到入神之(四)B+树索引
- wordpress入门主题_设置和运行WordPress网站的终极入门指南
- 壳与加壳脱壳基础知识
- 不变初心数 (15 分)
热门文章
- [转]用Hadoop,还是不用Hadoop?
- Mac 自动化自动操作工作流程(Workflow)完成日常软件文件网页一键打开
- 复联4火爆来袭,大数据告诉你——漫威哪个英雄人气最高
- html5实现粒子效果的文字,利用HTML5实现Canvas粒子文字特效
- “贴纸”型可穿戴传感器诞生,中美科学家联合研发,可远程监控健康风险-1
- C++开启后台线程监听控制台输入实现按任意键退出
- pr剪辑打开多个项目_教你一招视频后期必学的六个PR剪辑小技巧
- 微信小程序分享接口卡片图片尺寸比例
- 中国联通物联网部件服务介绍
- 使用微信开发者工具和手机进行联调