02发送短信

使用SmsManager发送短信

java.lang.Object
   ↳android.telephony.SmsManager

Manages SMS operations such as sending data, text, and pdu SMS messages. Get this object by calling the static method SmsManager.getDefault().
管理短信操作,如发送数据,文本和PDU短信。通过调用静态方法SmsManager.getDefault() 获取此对象。

使用到的API:
1、public void sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)
Parameters
destinationAddressthe address to send the message to   
消息的目标地址,短信的接收方
scAddressis the service center address or null to use the current default SMSC 
短信服务中心的地址,or 为空使用当前默认的 SMSC,一般用null
textthe body of the message to send
短信内容
sentIntentif not NULL this PendingIntent is broadcast when the message is successfully sent, or failed. The result code will beActivity.RESULT_OK for success, or one of these errors:
RESULT_ERROR_GENERIC_FAILURE
RESULT_ERROR_RADIO_OFF
RESULT_ERROR_NULL_PDU
For RESULT_ERROR_GENERIC_FAILURE the sentIntent may include the extra "errorCode" containing a radio technology specific value, generally only useful for troubleshooting.
The per-application based SMS control checks sentIntent. If sentIntent is NULL the caller will be checked against all unknown applications, which cause smaller number of SMS to be sent in checking period.
不为null的话,则PendingIntent会发送广播:
Activity.RESULT_OK 成功
RESULT_ERROR_GENERIC_FAILURE 不确定的错误 
RESULT_ERROR_RADIO_OFF radio关闭
RESULT_ERROR_NULL_PDU PDU错误
deliveryIntentif not NULL this PendingIntent is broadcast when the message is delivered to the recipient. The raw pdu of the status report is in the extended data ("pdu").
如果不为空,当消息成功传送到接收者这个 PendingIntent 就广播。 
Throws
IllegalArgumentExceptionif destinationAddress or text are empty 

2、public ArrayList<String>divideMessage(String text)

Divide a message text into several fragments, none bigger than the maximum SMS message size.

3、不能忘记配置权限

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

*****************************
效果图:
打开两个虚拟机,输入虚拟机编号,输入短信内容,发送。



代码如下:

MainActivity.java
package com.example.sendMsg;import java.util.ArrayList;
import java.util.List;import android.app.Activity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.EditText;public class MainActivity extends Activity {private EditText ed_phone;private EditText ed_content;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ed_phone=(EditText) findViewById(R.id.et_phone);ed_content=(EditText) findViewById(R.id.et_content);}public void sendMessage(View v){String phoneNumber=ed_phone.getText().toString();String content=ed_content.getText().toString();//获取短信管理器SmsManager sm=SmsManager.getDefault();//切割短信,把长短信切割成多条短信List<String> msgList=new ArrayList<String>();msgList=sm.divideMessage(content);//发送短信for(String msg:msgList){sm.sendTextMessage(phoneNumber, null, msg, null, null);}}}


代码下载


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/539983.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python运行环境与异常处理

Python的命令格式&#xff1a; python [option] ... [-c cmd | -m mod | file | -] [arg] ... 选项描述-J 启动将从Python3中删除或更改某些功能的警告 -B阻止在导入时创建.pyc或.pyo文件-E忽略环境变量-h打印所有可用命令行选项的列表-i在程序执行后进入交互模式-m module以脚…

Java应用一般架构

原文链接&#xff1a;http://www.iteye.com/news/31115 当我们架设一个系统的时候通常需要考虑到如何与其他系统交互&#xff0c;所以我们首先需要知道各种系统之间是如何交互的&#xff0c;使用何种技术实现。 1. 不同系统不同语言之间的交互 现在我们常见的不同系统不同语…

Mac MongoDB未正常关闭导致重启失败

你可以删除掉mongod.lock文件&#xff0c;然后重新启动&#xff0c;如果还是不可以&#xff0c;你可以查看一下进程&#xff0c;然后杀掉&#xff1a; ps -aef | grep mongo sudo kill 1076 再重启数据库即可。

微信企业号让IOS不要识别数字为电话号码的方法

最近在开发一个联系人查看功能时&#xff0c;发现IOS端把 8位&#xff0c;11位的数字识别为了 电话号码。 本来是黑色的样式&#xff0c;变成了蓝色的样式&#xff0c;还添加了下划线。点击一下&#xff0c;还可以拨打电话。 这个问题要改&#xff0c;解决方法很简单&#xf…

powerdns与nginx结合实现以域名和IP方式访问web服务器80端口时分别跳转到不同页面...

1.powerdns设置 2.内部网站介绍 web服务器采用nginx&#xff0c;内网dns采用powerdns. 想实现的功能如下 通过ip访问时跳转到A页面&#xff0c;通过域名访问时&#xff0c;让其跳转到B页面。两种方式的端口均为80. 页面A对应的nginx配置 server { listen 80; …

Installation error code: -103签名不一致错误

调用Android系统的PackageInstallerActivity进行app安装时&#xff0c;报Installation error code: -103 错误。 原因是&#xff1a;签名问题。 可能是 1、正安装的应用没用签名 2、正安装的应用与已安装的应用包相同&#xff0c;但签名不同。 解决方法&#xff1a; 1、给…

java代码块是对象吗_面向对象(Java中普通代码块,构造代码块,静态代码块区别及代码示例)...

//静态代码块:在java中使用static关键字声明的代码块。静态块用于初始化类&#xff0c;为类的属性初始化。每个静态代码块只会执行一次。由于JVM在加载类时会执行静态代码块&#xff0c;所以静态代码块先于主方法执行。//如果类中包含多个静态代码块&#xff0c;那么将按照&quo…

Android adb命令选择设备操作

当开了多个模拟器时&#xff0c;安装app需要指定虚拟机&#xff0c;否则会提示&#xff1a;error: more than one device and emulator 1、先adb devices 查看设备列表 List of devices attached emulator-5554 device emulator-5556 device 2、使用命令 adb -s emulat…

java 视图解析器_SpringMVC——视图和视图解析器

请求处理方法执行完成后&#xff0c;最终返回一个 ModelAndView对象。对于那些返回 String&#xff0c;View 或 ModeMap 等类型的处理方法&#xff0c;Spring MVC 也会在内部将它们装配成一个ModelAndView 对象&#xff0c;它包含了逻辑名和模型对象的视图Spring MVC 借助视图解…

Android app 应用签名

为什么要签名&#xff1f; 这个要从Android的系统设计来解释。 ---Android系统中的每个应用都是一个用户&#xff0c;应用的包名&#xff08;清单文件中 package的值&#xff09;就是用户名。 当一个已安装的应用A和一个正要安装的应用B&#xff0c;它们的包名相同&#xff…

[.Net线程处理系列]专题五:线程同步——事件构造

引言&#xff1a; 其实这部分内容应该是属于专题四&#xff0c;因为这篇也是讲关于线程同步的&#xff0c;但是由于考虑到用户的阅读习惯问题&#xff0c;因为文章太长了&#xff0c;很多人不是很愿意看包括我也是这样的&#xff0c;同时也有和我说可以把代码弄成折叠的&#x…

java redis set list_RedisTemplate的各种操作(set、hash、list、string)_lichuangcsdn的博客-CSDN博客...

注入以下RedisTemplateAutowiredprivate RedisTemplate redisTemplate;1、保存和读取Set&#xff1a;代码示例&#xff1a;SetOperations set redisTemplate.opsForSet(); set.add("set1","22"); set.add("set1","33"); set.add(&quo…

闪屏页面(Splash)开发

业余作品--365安全卫士 ------------------------------------------- 闪屏页面(Splash)&#xff1a;app刚启动时的页面 作用&#xff1a; 1、展示公司品牌logo 2、应用初始化。如游戏app第一次启动初始化数据 3、检测新版本。 4、检测程序合法性。如 招商银行app在启动…

matlab2016b ubuntu命令行安装 + matconvnet的安装

0. 下载安装包 下载的文件有Matlab 2016b Linux64 Crack.rar&#xff0c;R2016b_glnxa64_dvd2.iso&#xff0c;R2016b_glnxa64_dvd1.iso。 1. 拷贝安装文件并上传服务器 在Windows下用虚拟光驱打开&#xff0c;并将R2016b_glnxa64_dvd1.iso和R2016b_glnxa64_dvd2.iso所有内容复…

科普dip,dp,sp,dpi,ppi,px,Density

一、概念 DPI&#xff1a;DPI是Dots Per Inch的缩写&#xff0c;也就是“每英寸点数”&#xff0c;打印机分辨率。这里所说的“点”&#xff0c;在屏幕上并不是不变的&#xff0c;并不是唯一对应屏幕上的像素点&#xff0c;而是受到分辨率等因素的影响。这个点有可能是1个像素…

do与mysql数据类型对照_dophon-db: dophon框架的数据库模块,支持mysql,sqlite数据库,带有orm持久化功能与链式操作实例,贴近逻辑习惯,支持mysql多数据源配置...

dophon-db项目介绍dophon框架的数据库模块,也可单独作为一个与数据库模块交互的部件支持mysql数据库连接支持orm形式的数据操作如有疑问请发送邮件联系作者:ealohu163.com软件架构模块架构分为以组件:mysql连接组件(包括连接池,连接封装类,分页,结果输出过滤器,远程接收器,增量…

clamp 函数

返回范围内的一个数值。可以使用 clamp 函数将不断增加、减小或随机变化的数值限制在一系列的值中。 float clamp(float minnumber, float maxnumber, float parameter) 最小数值和最大数值指定返回值的范围。 参数是值要钳制在范围内的属性或变量。 如果参数位于最小数值和最大…

jquery $.each遍历json数组方法

转载地址&#xff1a;http://blog.sina.com.cn/s/blog_636f2d150101ezs1.html <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.o…

java 责任链模式 链表_责任链模式的实现及源码中应用

01—责任链模式的实现假设一个出差任务的流程需要审批出差行程和出差报销金额。那么&#xff0c;对应两个部门的审核。我们先定义一个出差任务Task类&#xff1a;然后&#xff0c;我们定义一个抽象的处理类Handler&#xff0c;其中具体的处理方法Handle交给子类去实现。然后&am…

JQuery $.each遍历JSON字符串报Uncaught TypeError:Cannot use 'in' operator to search for

查看一个简单的jQuery的例子来遍历一个JavaScript数组对象。 [js] view plaincopy var json [ {"id":"1","tagName":"apple"}, {"id":"2","tagName":"orange"}, {"id":&quo…