Android开发之SmsManager(短信管理器)详解

SmsManager是Android提供的另一个非常常见的服务,SmsManager提供了系列sendXxxMessage()方法用于发送短信。

SmsManager:管理短信操作,如发送数据,文本和PDU短信。通过调用静态方法SmsManager.getDefault()获取此对象。


Public Methods


ArrayList<String>


divideMessage(String text)

当短信超过SMS消息的最大长度时,将短信分割为几块。


static SmsManager


getDefault()

获取SmsManager的默认实例。


void


sendDataMessage(String destinationAddress, String scAddress,
short destinationPort, byte[] data, PendingIntent sentIntent, PendingIntent deliveryIntent)

发送一个基于SMS的数据到指定的应用程序端口。


void


sendMultipartTextMessage(String destinationAddress, String scAddress, ArrayList<String>
parts, ArrayList<PendingIntent> sentIntents, ArrayList<PendingIntent>
deliveryIntents)

发送一个基于SMS的多部分文本,调用者应用已经通过调用

divideMessage(String text)将消息分割成正确的大小。


void


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

发送一个基于SMS的文本。

说明:

·      ArrayList<String> divideMessage(String
text)

当短信超过SMS消息的最大长度时,将短信分割为几块。

参数text——初始的消息,不能为空

返回值:有序的ArrayList<String>,可以重新组合为初始的消息

·      static SmsManager getDefault()

获取SmsManager的默认实例。

返回值SmsManager的默认实例

·      void SendDataMessage(String destinationAddress, String scAddress, short destinationPort, byte[] data,PendingIntent sentIntent, PendingIntent deliveryIntent) 发送一个基于SMS的数据到指定的应用程序端口。

参数

1)、destinationAddress——消息的目标地址

2)、scAddress——服务中心的地址or为空使用当前默认的SMSC
3)destinationPort——消息的目标端口号

4)、data——消息的主体,即消息要发送的数据

5)、sentIntent——如果不为空,当消息成功发送或失败这个PendingIntent就广播。结果代码是Activity.RESULT_OK表示成功,或RESULT_ERROR_GENERIC_FAILURE、RESULT_ERROR_RADIO_OFF、RESULT_ERROR_NULL_PDU之一表示错误。对应RESULT_ERROR_GENERIC_FAILURE,sentIntent可能包括额外的“错误代码”包含一个无线电广播技术特定的值,通常只在修复故障时有用。

每一个基于SMS的应用程序控制检测sentIntent。如果sentIntent是空,调用者将检测所有未知的应用程序,这将导致在检测的时候发送较小数量的SMS。

6)、deliveryIntent——如果不为空,当消息成功传送到接收者这个PendingIntent就广播。

异常:如果destinationAddressdata是空时,抛出IllegalArgumentException异常。

·      void sendMultipartTextMessage(String destinationAddress, String scAddress, ArrayList<String> parts,ArrayList<PendingIntent> sentIntents,ArrayList<PendingIntent>  deliverIntents)

发送一个基于SMS的多部分文本,调用者应用已经通过调用divideMessage(String text)将消息分割成正确的大小。

参数

1)、destinationAddress——消息的目标地址

2)、scAddress——服务中心的地址or为空使用当前默认的SMSC

3)、parts——有序的ArrayList<String>,可以重新组合为初始的消息

4)、sentIntents——跟SendDataMessage方法中一样,只不过这里的是一组PendingIntent

5)、deliverIntents——跟SendDataMessage方法中一样,只不过这里的是一组PendingIntent

异常:如果destinationAddressdata是空时,抛出IllegalArgumentException异常。

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

发送一个基于SMS的文本。参数的意义和异常前面的已存在的一样,不再累述。

关于SmsManager的应用实例大家可以参照:Android开发之发送短信

时间: 2024-10-14 08:22:45

Android开发之SmsManager(短信管理器)详解的相关文章

Android基础入门教程——10.2 SmsManager(短信管理器)

Android基础入门教程--10.2 SmsManager(短信管理器) 标签(空格分隔): Android基础入门教程 本节引言: 本节带来的是Android中的SmsManager(短息管理器),见名知意,就是用来管理手机短信的, 而该类的应用场景并不多,一般是我们发短信的时候才会用到这个API,当然这种短信是 文字短信,对于彩信过于复杂,而且在QQ微信各种社交APP横行的年代,你会去发1块钱一条的 彩信吗?所以本节我们只讨论发送普通文字短信! 官方文档:SmsManager 1.调用系统

Android提供的系统服务之--SmsManager(短信管理器)

Android提供的系统服务之--SmsManager(短信管理器) --转载请注明出处:coder-pig SmsManager相关介绍以及使用图解: 当然为了方便各位,把代码粘一粘吧,就不用麻烦大家写代码了: 有需要的时候就复制粘贴下吧! 1)调用系统发送短信的功能: public void SendSMSTo(String phoneNumber,String message){ //判断输入的phoneNumber是否为合法电话号码 if(PhoneNumberUtils.isGloba

Android开发之AudioManager(音频管理器)详解

AudioManager简介: AudioManager类提供了访问音量和振铃器mode控制.使用Context.getSystemService(Context.AUDIO_SERVICE)来得到这个类的一个实例. 公有方法: Public Methods int abandonAudioFocus(AudioManager.OnAudioFocusChangeListenerl) 放弃音频的焦点. void adjustStreamVolume(int streamType, int dir

使用SMSManager短信管理器实现短信群发

import java.util.ArrayList; import android.os.Bundle;import android.provider.ContactsContract;import android.app.Activity;import android.app.AlertDialog;import android.app.PendingIntent;import android.content.DialogInterface;import android.content.In

使用SMSManager短信管理器发送短信

import android.os.Bundle;import android.app.Activity;import android.app.PendingIntent;import android.content.Intent;import android.telephony.SmsManager;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import

Android开发之AudioManager(音频管理器)具体解释

AudioManager简单介绍: AudioManager类提供了訪问音量和振铃器mode控制. 使用Context.getSystemService(Context.AUDIO_SERVICE)来得到这个类的一个实例. 公有方法: Public Methods int abandonAudioFocus(AudioManager.OnAudioFocusChangeListenerl) 放弃音频的焦点. void adjustStreamVolume(int streamType, int

android开发之MediaPlayer+Service MP3播放器

http://blog.csdn.net/zzy916853616/article/details/6450753 [java] view plaincopy import java.io.File; import java.io.FilenameFilter; import java.util.ArrayList; import java.util.List; import android.app.ListActivity; import android.apps.service.Player

Java开发之I/O读取文件实例详解

在java开发或者android开发中,读取文件是不可避免的,以下对java开发中读取文件做了归纳和详解: 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void readFileByBytes(String fileName) { File file = new File(fileN

【IOS开发之Objective-C】书签管理器项目

1.项目 新建一个书签管理器的项目,可以存储书签的网址.中文名.星级.访问量和权限信息,具有增.删.改.查和排序的功能. 2.找对象,抽象类 书签管理器,书签管理器,书签管理器--  多读几次书是不是就找到了对象,书签和管理器.书签包含网址.中文名和星级等信息:管理器里面有书签.那么我就可以抽象出两个类了,一个是书签类,一个是管理器类. 我们在书签管理器里面增.删.改.查和排序书签,在书签里面保存书签具有的属性数据. 3.对象的属性和行为分析 书签管理器的存储关系的分析: 4.类的实现 1.书签