一、打电话

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调用系统打电话和发短信功能相关推荐

  1. html调用手机打电话、发短信功能

    在html头部里面加上: <meta name="format-detection" content="telephone=yes"/> 在需要拨打 ...

  2. android 发短信意图,android代码实现打电话和发送短信功能

    android代码实现打电话和发送短信功能 发布时间:2020-05-27 11:57:17 来源:亿速云 阅读:172 作者:鸽子 1.XML布局 xmlns:app="http://sc ...

  3. H5页面调用手机打电话、发短信、传邮件功能

    问题背景 在h5页面,点击某个按钮或图标时,调起手机打电话.发短信以及传邮件的功能,可以用一个很简单的方法实现 解决方法 在需要的地方加上标签,点击即可调起相关功能弹窗 <!-- 打电话 --& ...

  4. python+twilio实现打电话和发短信功能

    python和twilio实现发送短信功能 最近突发奇想,,python能不能实现打电话和发短信,通过查找资料,还真可以, 如果只是用自己的手机打电话的话,可以借助appium这个来实现,原理其实和s ...

  5. linux 模拟打电话,Android 调用打电话和发短信功能

    1.打电话 可以自己写界面,在button的单击事件中添加如下代码即可: Intent intent = new Intent(); intent.setAction("Android.in ...

  6. Android模拟器模拟打电话,发短信

    启动模拟器 并 连接成功 C:\Users\BillGates>telnet localhost 5554(模拟器端口号) Android Console: type 'help' for a ...

  7. Python + twilio 实现打电话和发短信功能

    相信大家生活中常常会有接到骚扰电话的经历,电话接通后发现是个机器人说话而不是真人!当时就想这又是哪个黑心厂家招人写了垃圾程序来祸国殃民,真的是气不打一处来! 今天快下班时候突然想起这个,就想着用pyt ...

  8. python打电话 不接通不收钱,Python + twilio 实现打电话和发短信功能

    相信大家生活中常常会有接到骚扰电话的经历,电话接通后发现是个机器人说话而不是真人!当时就想这又是哪个黑心厂家招人写了垃圾程序来祸国殃民,真的是气不打一处来! 今天快下班时候突然想起这个,就想着用pyt ...

  9. 前端 html5页面调用手机打电话,发送短信功能

    <head>里面加上:<meta name="format-detection" content="telephone=yes"/> 需 ...

最新文章

  1. jQuery操作Select
  2. [MIPS汇编语言]InsertionSort插入排序
  3. 解释afterPropertiesSet
  4. Windows 系统如何查看本机的 IP 地址
  5. iis自带的ftp服务器权限设置方法,IIS ftp 权限控制
  6. iOS实现简书的账号识别方式(正则表达式)
  7. 使用java的java 命令,直接调用执行class文件
  8. 【Luogu4921】情侣?给我烧了!(组合计数)
  9. 运筹优化(三)--线性规划之单纯形法
  10. 给linux用户的11个高级MySQL数据库面试问题和答案
  11. 重拾《 两周自制脚本语言 》- 支持中文标识符
  12. c语言自学方式,c语言学习方法
  13. 《概率论与数理统计》重学笔记
  14. Excel如何将一列数据转为一行?
  15. 大厂面试快问快答,10分钟搞定MySQL夺命20问,你都能接住吗?
  16. PAT甲级1146 Topological Order (25 分)
  17. mysql b 树 字符串索引_Mysql从入门到入神之(四)B+树索引
  18. wordpress入门主题_设置和运行WordPress网站的终极入门指南
  19. 壳与加壳脱壳基础知识
  20. 不变初心数 (15 分)

热门文章

  1. [转]用Hadoop,还是不用Hadoop?
  2. Mac 自动化自动操作工作流程(Workflow)完成日常软件文件网页一键打开
  3. 复联4火爆来袭,大数据告诉你——漫威哪个英雄人气最高
  4. html5实现粒子效果的文字,利用HTML5实现Canvas粒子文字特效
  5. “贴纸”型可穿戴传感器诞生,中美科学家联合研发,可远程监控健康风险-1
  6. C++开启后台线程监听控制台输入实现按任意键退出
  7. pr剪辑打开多个项目_教你一招视频后期必学的六个PR剪辑小技巧
  8. 微信小程序分享接口卡片图片尺寸比例
  9. 中国联通物联网部件服务介绍
  10. 使用微信开发者工具和手机进行联调