发送短信和打电话的方法

简介:

发送短信的方法

有两种方法可以实现发送短信,其一是使用intent-startActivityURI数据格式为"smsto:num",调用的actionIntent.ACTION_SENDTO

Uri uri = Uri.parse("smsto:5554");

Intent it = new Intent(Intent.ACTION_SENDTO, uri);

it.putExtra("sms_body""好。。");

startActivity(it);        

 

 

其二是使用SmsManager:

EditText num=(EditText)findViewById(R.id.num);

                EditText content=(EditText)findViewById(R.id.content);

                String mobile=num.getText().toString();

                String smstext=content.getText().toString();

                //获取SmsManager

                SmsManager sms=SmsManager.getDefault();

                //如果内容大于70字,则拆分为多条

                List<String> texts=sms.divideMessage(smstext);

                //逐条发送短信

                for(String text:texts)

                {

                    sms.sendTextMessage(mobile, null, text, nullnull);

                }                

                //发送结果提示

                Toast.makeText(SendSMS.this"发送成功", Toast.LENGTH_LONG).show();

二者的不同在于前者只是调用了发送界面,需要按下Send按钮短信才发送出去,而后者则是直接发送出去。

发送SMS权限的设置:

<uses-permission android:name="android.permission.SEND_SMS"/>

关于SmsManager

SDK中的介绍:Manages SMS operations such as sending data, text, and pdu SMS messages. Get this object by calling the static method SmsManager.getDefault().

方法:

public void sendTextMessage (String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)

 

destinationAddress: 收件人地址

scAddress: 短信中心号码,null为默认中心号码

sentIntent: 当消息发出时,成功或者失败的信息报告通过PendingIntent来广播。如果该参数为空,则发信程序会被所有位置程序检查一遍,这样会导致发送时间延长。

deliveryIntent: 当消息发送到收件人时,该PendingIntent会被广播。pdu数据在状态报告的extended data ("pdu")中。

如果收件人或者信息为空则抛出 IllegalArgumentException 。

public ArrayList<String> divideMessage (String text)

将大于70字的短信分割为多条。

参数:text    the original message. Must not be null.

返回:an ArrayList of strings that, in order, comprise the original message

sendDataMessage 参数与上类似,只是用于发送Data。

sendMultipartTextMessage发送多条短信,发送内容必须是用divideMessage分割好了的。

 

打电话的方法

打电话的方法类似,所不用的是URI格式为"tel:num",而调用的action为Intent.ACTION_CALL

EditText edit=(EditText)findViewById(R.id.DialEdit);

String num=edit.getText().toString();

if((num!=null)&&(!"".equals(num.trim())))

{

Intent intent=new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+num));

                    startActivity(intent);

}

打电话权限的设置:

<uses-permission android:name="android.permission.SEND_SMS"/>

 

 

 

向模拟器发短信打电话的方法

1.启动android emulator,查看标题栏找出端口。一般是android emulator (5554),其中5554就是端口。

 

2.打开命令行,输入telnet localhost 5554。程序将会连接到android console,返回

Android Console: type 'help' for a list of commands

OK

模拟电话打入gsm <call|accept|busy|cancel|data|hold|list|voice|status>

 

输入gsm call <模拟打进的电话号码>。如:

gsm call 15555218135

模拟短信发送sms send <senderPhoneNumber> <textmessage>

输入sms send <模拟发送短信的电话> <内容>。如:

sms send 15555218135 hello

其中,15555218135为模拟器手机号码。

本文转自feisky博客园博客,原文链接:http://www.cnblogs.com/feisky/archive/2010/06/10/1755914.html,如需转载请自行联系原作者



相关文章
|
JSON JavaScript 前端开发
|
算法 程序员 应用服务中间件
推荐一款基于docker部署的个人免费笔记工具wiznote
推荐一款基于docker部署的个人免费笔记工具wiznote
推荐一款基于docker部署的个人免费笔记工具wiznote
|
存储 中间件 关系型数据库
数据库切片大对决:ShardingSphere与Mycat技术解析
数据库切片大对决:ShardingSphere与Mycat技术解析
1401 0
|
机器学习/深度学习 人工智能 机器人
智能废物管理系统:城市垃圾的自动化处理
【10月更文挑战第24天】智能废物管理系统利用物联网、大数据、人工智能和自动化机器人等技术,实现城市垃圾从分类、收集到处理的全过程自动化,提高处理效率,优化资源配置,提升居民参与度,降低运营成本,推动城市可持续发展。
1337 2
|
机器学习/深度学习 人工智能 自然语言处理
一文介绍CNN/RNN/GAN/Transformer等架构 !!
一文介绍CNN/RNN/GAN/Transformer等架构 !!
1048 5
|
机器学习/深度学习 算法
R语言超参数调优:深入探索网格搜索与随机搜索
【9月更文挑战第2天】网格搜索和随机搜索是R语言中常用的超参数调优方法。网格搜索通过系统地遍历超参数空间来寻找最优解,适用于超参数空间较小的情况;而随机搜索则通过随机采样超参数空间来寻找接近最优的解,适用于超参数空间较大或计算资源有限的情况。在实际应用中,可以根据具体情况选择适合的方法,并结合交叉验证等技术来进一步提高模型性能。
1030 5
|
域名解析 存储 缓存
【域名解析DNS专栏】动手实践:手动配置DNS解析记录
【5月更文挑战第22天】本文介绍了DNS解析记录的概念及其手动配置步骤。DNS解析记录是将域名映射到IP地址的数据,常见类型包括A(IPv4)、AAAA(IPv6)和CNAME(别名)。配置步骤包括登录DNS管理平台,添加记录,选择记录类型,填写主机记录和记录值,设置TTL值,并保存。以阿里云为例的A记录配置示例也提供了具体操作。了解这些有助于更好地管理域名。
1925 0
【域名解析DNS专栏】动手实践:手动配置DNS解析记录
|
机器学习/深度学习 存储 SQL
一文彻底搞定 RAG、知识库、 Llama-3
Llama-3 用于 RAG,增强大语言模型的性能,整合外部知识。关键组件包括:1) 自定义知识库,存储更新的信息;2) 分块处理,拆解文本便于管理;3) 嵌入模型,转化多模态数据为数值向量;4) 向量数据库,快速检索相似性;5) 用户聊天界面,交互平台;6) 查询引擎,获取上下文生成响应;7) 提示词模板,结合查询与知识生成提示。整个流程确保了 RAG 系统的有效性和响应能力。本文为转载,来自:https://mp.weixin.qq.com/s/Xue-9FKMMVKBSzIZC3JJdA
|
安全 关系型数据库 MySQL
利用windows服务器自带的IIS搭建网站并发布公网访问【内网穿透】
利用windows服务器自带的IIS搭建网站并发布公网访问【内网穿透】
2621 0
利用windows服务器自带的IIS搭建网站并发布公网访问【内网穿透】