自定义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

本文介绍了如何在Android中自定义ACTION常数来监听短信的发送状态。通过创建BroadcastReceiver监听SMS_SEND_ACTIOIN和SMS_DELIVERED_ACTION,实现对短信发送成功的确认以及接收者是否已接收到短信的判断。需要注意的是,SMS_DELIVERED_ACTION的行为可能因运营商而异。文章还提到了在应用程序的onCreate和onDestroy方法中分别进行广播事件的注册和取消。

772

被折叠的 条评论
为什么被折叠?



