博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 拨打电话与发送短信
阅读量:7209 次
发布时间:2019-06-29

本文共 2097 字,大约阅读时间需要 6 分钟。

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

1 

标签外面一层,拨打电话的权限为android.permission.CALL_PHONE,发送短信的权限为android.permission.SEND_SMS.

而内部代码主要是写按钮的单击事件就可以了,覆写 onClick()事件

发送短信:

1     @Override  2     public void onClick(View v)  3     {
4 // 管理短信的操作类,例如发送数据,文本,通过调用getDefault()方法获得对象; 5 SmsManager smsManager = SmsManager.getDefault(); 6 // 如果短信内容多长,将自动分割为多条信息,存放在ArrayList里面; 7 ArrayList
textsArrayList = smsManager.divideMessage(conEditText.getText() 8 .toString()); 9 // 利用for循环将短信发送出去; 10 for (String text : textsArrayList) 11 {
12 // 实现发送文本短信的函数是smsManager的sendTextMessage()方法 13 smsManager.sendTextMessage(phoneEditText.getText().toString(), null, text, null, null); 14 } 15 // 这句话适用于提示用户短信已发送成功的 16 // Toast.makeText(MySMSActivity.this, R.string.success, 17 // Toast.LENGTH_LONG).show(); 18 }

拨打电话:

1     @Override 2     public void onClick(View v) 3     {
4 String phonenum = phoneEditText.getText().toString(); 5 // 使用Intent 6 Intent intent = new Intent("android.intent.action.CALL", Uri.parse("tel:" + phonenum)); 7 // 开启广播意图 8 startActivity(intent); 9 }
打电话和发短信都是调用Android系统服务,但是在实现的代码上是不同。在调用smsManager.divideMessage()时发现发送短信的函数还有两个,查看帮助文档知道分别是sendDataMessage 和sendMultipartTextMessage,他们的声明和作用如下:
public void sendDataMessage (String destinationAddress, String scAddress, short destinationPort, byte[] data, PendingIntent sentIntent, PendingIntent deliveryIntent)

基于短信发送一个数据到一个特定的应用程序端口(Send a data based SMS to a specific application port.)

public void sendMultipartTextMessage (String destinationAddress, String scAddress, ArrayList
parts, ArrayList
sentIntents, ArrayList
deliveryIntents)

基于短信发送多个文本。事先已将短信内容分割为多个部分(Send a multi-part text based SMS. The callee should have already divided the message into correctly sized parts by calling divideMessage.)

具体怎么用的还没研究。

 

转载地址:http://wrrum.baihongyu.com/

你可能感兴趣的文章
HTTP Keep-Alive是什么?如何工作?
查看>>
maven 异常解决
查看>>
实现林间的选择性身份验证
查看>>
进程的调度算法
查看>>
使用elasticsearch1.5.2实现查找附近的人
查看>>
SQL SERVER 批量将修改字段名为大、小写
查看>>
#ifdef __cplusplus extern C{}与C和C++间的关系
查看>>
lvs的nat模式实验
查看>>
利用ftp服务器实现无人值守的安装
查看>>
Vbs脚本编程简明教程之六
查看>>
德国罗森伯格荣获2013年度中国综合布线十大品牌以及数据中心标准化产品应用奖...
查看>>
使用vue开发项目需要注意的问题和可能踩到的坑
查看>>
webpack 模块标识符(Module Identifiers)
查看>>
PHP有前途吗?
查看>>
sm1、sm2、sm3、sm4简单介绍
查看>>
精读《Optional chaining》
查看>>
jQuery选择器
查看>>
c++——四种强转方式 static_cast dynamic_cast const_cast reinterpret_cast
查看>>
Swift 学习
查看>>
【HDU】6148 Valley Numer 数位DP
查看>>