Android发送短信,并监听短信发送后是否发送成功的实现方法
来源:互联网 发布:自动套料软件 编辑:程序博客网 时间:2024/04/30 01:09
废话不说,直接上源码:
package Service;import android.app.Activity;import android.app.PendingIntent;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.Handler;import android.os.Message;import android.telephony.gsm.SmsManager;import android.widget.Toast;import com.xxip.sendms.SendService;import java.util.List;/** * Created by dyb on 13-10-25. */public class SendMessage {private static final String TAG = "SendMsg";private String SENT_SMS_ACTION = "SENT_SMS_ACTION";private Context context;private Intent sentIntent = new Intent(SENT_SMS_ACTION);private SmsManager smsManager;private PendingIntent sentPI;private String DELIVERED_SMS_ACTION = "DELIVERED_SMS_ACTION";private Intent deliverIntent = new Intent(DELIVERED_SMS_ACTION);private PendingIntent deliverPI;//SendService myServer; //此为我应用中的服务,你可以取消private String qid = "0"; //短信序列号ID,该参数为我的应用使用的参数,你可以不要/** * 构造函数 * @param c */public SendMessage(Context c){this.context = c;smsManager = SmsManager.getDefault();sentPI = PendingIntent.getBroadcast(context, 0, sentIntent, 0);//短信发送状态监控context.registerReceiver(new BroadcastReceiver(){@Overridepublic void onReceive(Context context, Intent intent) {switch(getResultCode()){case Activity.RESULT_OK:MyLog.i(TAG,"信息已发出");updateStatus(qid,"1");break;case SmsManager.RESULT_ERROR_GENERIC_FAILURE:Toast.makeText(context, "未指定失败 \n 信息未发出,请重试", Toast.LENGTH_LONG).show();break;case SmsManager.RESULT_ERROR_RADIO_OFF:Toast.makeText(context, "无线连接关闭 \n 信息未发出,请重试", Toast.LENGTH_LONG).show();break;case SmsManager.RESULT_ERROR_NULL_PDU:Toast.makeText(context, "PDU失败 \n 信息未发出,请重试", Toast.LENGTH_LONG).show();break;}}}, new IntentFilter(SENT_SMS_ACTION));//短信是否被接收状态监控deliverPI = PendingIntent.getBroadcast(context, 0, deliverIntent, 0);context.registerReceiver(new BroadcastReceiver(){@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stub//myDialog.setMessage("已送达服务终端");//checkService();}}, new IntentFilter(DELIVERED_SMS_ACTION));}/** * 发送短信,这里是我需要的几个参数,你可以根据你的具体情况来使用不同的参数 * @param qid * @param mobile 要发送的目标手机号,这个必须要有 * @param code * @param msg 发送的短信内容 */public void send(String qid,String mobile,String code,String msg){this.qid = qid;String msg1 = "尊敬的客户,您正在进行";String msg2 = "(6小时内有效),我站工作人员不会向您索取短信内容。[带你玩新乡]";msg1 += msg + "操作,短信授权码为";String content = msg1 + code + msg2;List<String> divideContents = smsManager.divideMessage(content);for(String text : divideContents){try{smsManager.sendTextMessage(mobile, "+8613010761500", text, sentPI, deliverPI);}catch(Exception e){Toast.makeText(this.context, "短信发送失败,请检查是系统否限制本应用发送短信", 5000).show();e.printStackTrace();}}}private void updateStatus(String qid, String status) {//短信发送成功后做什么事情,就自己定吧}}
具体如何使用就很简单了,先实例化,然后调用 send方法即可。本例 中发送成功后要做的事情都在该类中完成了
- Android发送短信,并监听短信发送后是否发送成功的实现方法
- android发送短信带监听是否发送成功功能
- android 短信是否发送成功
- android发送短信并监听插入收件箱的方法
- Android监听发送短信
- 发送短信及其判断是否发送成功
- android 实现监听短信接收并将当前位置发送出去
- 发送并监听短信状态
- Android后台发送短信 是否发送成功提醒
- Android--判断发送短信后的状态/发送成功Or发送失败
- Android--判断发送短信后的状态/发送成功Or发送失败
- Android--判断发送短信后的状态/发送成功Or发送失败
- Android--判断发送短信后的状态/发送成功Or发送失败
- Android发送短信的方法
- 【娱乐】Android实现监听通话、发送短信
- Android实现发送短信
- Android实现发送短信
- android发送短信以及监听发送状态
- 调试train网站的bug汇总
- OCP-1Z0-052-V8.02-173题
- OpenStack 高可用性解决方案手动安装指南(四)
- 广播事件和权限的总结
- NFS服务器
- Android发送短信,并监听短信发送后是否发送成功的实现方法
- how to install plugins by widget way
- Java REST框架一览
- 利用DOM生成XML文档
- Java Collection总结
- poj 1250 Tanning Salon
- linux增加tomcat内存大小
- 实战经验:四步恢复降权站点的权重
- testflight使用