android发送短信以及监听发送状态
来源:互联网 发布:网络作家的收入多少 编辑:程序博客网 时间:2024/05/16 14:46
自定义ACTION常数,作为广播的Intent Filter识别常数
private String SMS_SEND_ACTIOIN = "SMS_SEND_ACTIOIN"; private String SMS_DELIVERED_ACTION = "SMS_DELIVERED_ACTION";
其中,SMS_SEND_ACTIOIN 为发送成功接收到的回复;SMS_DELIVERED_ACTION 是短信接受者接受到短信的回复;
根据运营商的不同,SMS_DELIVERED_ACTION 回复与否也不同。可以亲自试验下。
自定义mServiceReceiver覆盖BroadcastReceiver聆听短信状态信息
public class MyServiceReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub try { /* android.content.BroadcastReceiver.getResultCode()方法 */ switch (getResultCode()) { case Activity.RESULT_OK: /* 发送短信成功 */ Log.d("lmn", sendNums + "----发送短信成功---------------------------"); break; case SmsManager.RESULT_ERROR_GENERIC_FAILURE: /* 发送短信失败 */ case SmsManager.RESULT_ERROR_RADIO_OFF: case SmsManager.RESULT_ERROR_NULL_PDU: default: Log.d("lmn", sendNums + "----发送短信失败---------------------------"); break; } } catch (Exception e) { e.getStackTrace(); } } }
在oncreate中注册广播事件:
/* 自定义IntentFilter为SENT_SMS_ACTIOIN Receiver */IntentFilter mFilter01;mFilter01 = new IntentFilter(SMS_SEND_ACTIOIN);mReceiver01 = new MyServiceReceiver();registerReceiver(mReceiver01, mFilter01);/* 自定义IntentFilter为DELIVERED_SMS_ACTION Receiver */mFilter01 = new IntentFilter(SMS_DELIVERED_ACTION);mReceiver02 = new MyServiceReceiver();registerReceiver(mReceiver02, mFilter01);
同时在 onDestroy 中取消:
/* 取消注册自定义Receiver */if (mReceiver01 != null && mReceiver02 != null) {unregisterReceiver(mReceiver01);unregisterReceiver(mReceiver02);}
发送短信:
SmsManager smsManager = SmsManager.getDefault();
/* 创建自定义Action常数的Intent(给PendingIntent参数之用) */Intent itSend = new Intent(SMS_SEND_ACTIOIN);itSend.putExtras(b);/* sentIntent参数为传送后接受的广播信息PendingIntent */PendingIntent mSendPI = PendingIntent.getBroadcast(getApplicationContext(),(int) System.currentTimeMillis(), itSend,PendingIntent.FLAG_UPDATE_CURRENT);
Intent itDeliver = new Intent(SMS_DELIVERED_ACTION);
itDeliver.putExtras(b);
/* deliveryIntent参数为送达后接受的广播信息PendingIntent */PendingIntent mDeliverPI = PendingIntent.getBroadcast(getApplicationContext(),(int) System.currentTimeMillis(), itDeliver,PendingIntent.FLAG_UPDATE_CURRENT);// 发送短信
smsManager.sendTextMessage(sendNum, null, strMessage,mSendPI, mDeliverPI);
- android发送短信以及监听发送状态
- Android发送短信以及监听发送状态
- Android发送短信以及监听发送状态
- 短信发送状态监听
- Android监听发送短信
- 发送并监听短信状态
- Android--调系统发短信界面以及监听短信发送
- Android监听SMS发送状态并获取短信服务中心号码
- Android监听SMS发送状态并获取短信服务中心号码
- Android监听SMS发送状态并获取短信服务中心号码
- Android监听SMS发送状态并获取短信服务中心号码
- Android监听SMS发送状态并获取短信服务中心号码
- android如何监听发送短信
- android如何监听发送短信?
- Android获取手机号码,后台发送短信以及监听短信发送结果。
- Android发送短信并监测发送状态
- android短信发送,和状态
- [Android实例] android如何监听发送短信?
- 任意两个正整数的加减乘除运算
- shell算数运算
- sqlite3 交叉编译 undefined reference to `fdatasync' 错误解决
- android导入第三方jar包
- Linux锐捷上网,安装过程
- android发送短信以及监听发送状态
- android联网时url中追加xml解决办法
- pic下一步的测试
- Java数组排序Arrays.sort
- 如何编译Linux内核
- awk学习笔记
- 暴风影音第五代发布:左眼技术画质超越DVD
- 不用安装oracle客户端也可以用plsql连接远程oracle
- oracle rac overview