import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.telephony.SmsManager;

import java.util.ArrayList;

/**

* @author 汪书北

* @time 2019年12月16日

*

* 使用前须要在manifast文件中添加权限。

*

*

*

*/

public class SmsAndCallTools {

/**

*

这是一个直接发送短信的方法,不须要打开系统短信界面

*

* @param phoneNumber 接收方的电话号码

* @param content 短信内容

*/

public static boolean Send_SMS_directly(String phoneNumber, String content) {

try {

//一、添加发送短信的权限在manifast文件中。

//

// 二、获取android.telephony.SmsManager对象(PS:android.telephony.gsm.SmsManager已经废弃)。

SmsManager smsManager = SmsManager.getDefault();

// 三、声明一个短信内容的常量。

// String content = "Hello World!";

// 四、将短信内容分块,发送一条短信最多可以发送70个中文字符,超过这个值系统会将短信内容分为多块进行发送。

ArrayList list = smsManager.divideMessage(content);

// 五、分条进行发送。

for (int i = 0; i < list.size(); i++) {

smsManager.sendTextMessage(phoneNumber, null, list.get(i), null, null);

}

return true;

} catch (Exception e) {

return false;

}

}

/**

* 指定接收者的号码,而后发送短信。须要打开系统短信界面

*

* @param activity

* @param phoneNumber 接收者的号码

* @return

*/

public static boolean Send_SMS_phoneNumber(Activity activity, String phoneNumber) {

try {

//一、建立Uri,设置行为和号码

Uri uri = Uri.parse("smsto:" + phoneNumber);

// 二、建立意图。

Intent intentMessage = new Intent(Intent.ACTION_VIEW, uri);

// 三、打开系统短信界面,号码已经填写,只需填写要发送

activity.startActivity(intentMessage);

return true;

} catch (Exception e) {

return false;

}

}

/**

* 指定发送内容,而后发送短信。须要打开系统短信界面

*

* @param activity

* @param body 发送的内容

* @return

*/

public static boolean Send_SMS_Body(Activity activity, String body) {

try {

Intent intent = new Intent();

intent.setAction(Intent.ACTION_SEND);

intent.addCategory("android.intent.category.DEFAULT");

intent.setType("text/plain");

intent.putExtra("sms_body", body);

activity.startActivity(intent);

return true;

} catch (Exception e) {

return false;

}

}

/**

* 指定发送内容和号码,而后发送短信。须要打开系统短信界面

*

* @param activity

* @param phoneNumber 号码

* @param body 内容

* @return

*/

public static boolean Send_SMS_phoneNumber_Body(Activity activity, String phoneNumber, String body) {

try {

//使用Intent调用发送短信的功能

Intent intent = new Intent();

//设置Action和Uri

intent.setAction(Intent.ACTION_SENDTO);//设置数据

intent.setData(Uri.parse("smsto:" + phoneNumber));

//指定短信的内容

intent.putExtra("sms_body", body);

activity.startActivity(intent);

return true;

} catch (Exception e) {

return false;

}

}

/**

* 这是一个拨打电话的方法

*

* @param activity

* @param phoneNumber 电话号码

* @return

*/

public static boolean call(Activity activity, String phoneNumber) {

try {

//使用Intent调用打电话的功能

//在manifast文件中添加权限

//

Intent intent = new Intent();

//设置Action和Uri

intent.setAction(Intent.ACTION_CALL);

//设置数据

intent.setData(Uri.parse("tel:" + phoneNumber));

activity.startActivity(intent);

return true;

} catch (Exception e) {

return false;

}

}

}

android 拨打电话 发送短信 权限,Android中发送短信和拨打电话相关推荐

  1. 短信接口被恶意调用?企业短信防火墙+【中昱维信】短信验证码【Java】

    短信接口被恶意调用?企业短信防火墙+[中昱维信]短信验证码[Java] 一.企业短信防火墙的实现 1.1 简介 1.2 第一步:获取防火墙帐号密钥 1.3 第二步:下载防火墙服务器 1.4 第三步:业 ...

  2. 短信接口防刷防轰炸解决方案Java接入教程- 企业短信防火墙+ 【中昱维信】短信验证码

    企业短信防火墙[新昕科技]+短信验证码[中昱维信]Java应用实例 一.企业短信防火墙的实现 1.1 简介 1.2 第一步:获取防火墙帐号密钥 1.3 第二步:下载防火墙服务器 1.4 第三步:业务系 ...

  3. android 拨打电话 发送短信 权限,Android开发实现拨打电话与发送信息的方法分析...

    本文实例讲述了Android开发实现拨打电话与发送信息的方法.分享给大家供大家参考,具体如下: xml布局: android:layout_width="fill_parent" ...

  4. android 6.0 sd卡读写权限,Android 6.0 读写SD卡权限问题

    一.问题描述## Android 6.0 下默认存储SD卡,使用原生FMRadio生成的文件保存到内部存储中 [预置条件]插入T卡[操作步骤]设置>存储设备和USB>选择SD卡为默认存储& ...

  5. android跳转到相册需要权限,Android打开相册获取图片路径

    一.获得图片路径 当我们通过Intent打开相册,获取图片后,在onActivityResult回调中会得到图片的Uri. 但是Uri无法直接获得图片的路径.如果你曾经直接操作过android里的数据 ...

  6. android判断软件是否已root权限,Android应用开发Android 判断手机是否有root权限方法...

    本文将带你了解Android应用开发Android 判断手机是否有root权限方法,希望本文对大家学Android有所帮助. root权限是安卓最高的操作权限,俗称superuser,简称su,一般来 ...

  7. 从QQ同步助手上导出的短信文件*.csv中读取短信,并运用在Qt程序中

    登陆"QQ同步助手"的网页,我们可以将里面的短信信息批量导出到本地存为*.csv文件.该文件可以用Excel打开,看到里面的短信信息.         在用Qt编写一个小程序的时候 ...

  8. java发送outlook_在Outlook 2007中发送民意调查

    java发送outlook Collecting responses from a group of people is something very common in an office envi ...

  9. android 删除短信权限,Android删除短信的方法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1.删除短信的函数,一条一条的删除所有短信 /* * Delete all SMS one by one */ public void deleteSMS ...

  10. android申请多个运行时权限,Android 6.0(API 23) 运行时权限(二)之权限申请

    Android M 在上一篇中简单介绍了运行时权限,今天就讲讲怎么去申请权限.这个项目中本来用了一个第三方的权限框架,但是不太好用,我就在github上选择了start最多的PermissionsDi ...

最新文章

  1. Servlet、MySQL中文乱码
  2. python语言必背代码-让你的Python代码实现类型提示功能
  3. ApplicationContext||ApplicationContext与BeanFactory的区别||SpringContextUtil类的作用
  4. mybatis实战教程(mybatis in action),mybatis入门到精通
  5. springboot No Java compiler available for configuration options compilerClassName
  6. 打印菱形(Java)
  7. [PAT乙级]1036 跟奥巴马一起编程
  8. push_back还是emplace_back?
  9. 东软刘积仁:软件已从高科技领域变成大众消费品
  10. 43 FI配置-财务会计-固定资产-一般评估-定义折旧范围
  11. 星型模型 3nf的区别_数据库和数据仓库的区别和联系
  12. 计算机系统文字图片以啥子存在,电脑如何识别图片中文字的字体|电脑通过图片识别字体的方法...
  13. 十年里程碑 vivo X80铸造高端手机的主色调
  14. 探索反汇编-在Linux环境下
  15. 物联网是什么,华为云学院带你走进物联网的前世今生
  16. [Eclipse]GEF入门系列(二、GEF概述)
  17. Kubernetes 开发【1】——webhook 实现 API Server 请求拦截和修改
  18. 关于《机器学习实战》中创建决策树的核心代码分析
  19. 【Python之GUI开发案例】用Python的tkinter开发聚合翻译神器
  20. Mysql错误代码1045

热门文章

  1. vue3.0常用的composition API
  2. jpg转word免费的软件
  3. 二维码和一维码生成器
  4. 运放放大倍数计算公式_16个问题讲透了运算放大器基础的知识点
  5. 软件工程毕设(四)·调研报告
  6. ActiveMQ反序列化漏洞(CVE-2015-5254)
  7. 常见的虚拟化软件及其特点。
  8. Windows7系统蓝屏-解决办法, 错误代码:0x0000007F
  9. Java开发OCR文字识别系统
  10. 破网与立网,数字螺旋下的适者生存