为了追踪发出的SMS消息的传送和成功送达,实现并注册Broadcast Receiver来监听你在sendTextMessage方法中传入的PendingIntent的动作。
第一个PendingIntent参数,sentIntent,当消息发送成功或发送失败时触发。Broadcast Receiver接收到这个Intent时得到的结果值将是下面中的一个:
❑ Activity.RESULT_OK
表示成功发送。
❑ SmsManager.RESULT_ERROR_GENERIC_FAILURE
表示一个未指定的失败。
❑ SmsManager.RESULT_ERROR_RADIO_OFF
表示无线连接关闭。
❑ SmsManager.RESULT_ERROR_NULL_PDU
表示一个PDU失败。
第二个PendingIntent参数,deliveryIntent,仅在当目标用户接收到你的SMS消息后触发。
接下来的代码片段显示了发送一个SMS短信和监视短信的传送和成功送达的典型代码:
String SENT_SMS_ACTION = “SENT_SMS_ACTION”;
String DELIVERED_SMS_ACTION = “DELIVERED_SMS_ACTION”;
// Create the sentIntent parameter
Intent sentIntent = new Intent(SENT_SMS_ACTION);
PendingIntent sentPI = PendingIntent.getBroadcast(getApplicationContext(),0,sentI