アプリが SMS を送信している場合、SMS が送信されたかどうかのステータスを以下のように取得できます。送信されていないSMSのグローバルコールバックがないため、それを知ることはできません.
/**
* Listen to Delivery Reports of sent SMSs
*/
private BroadcastReceiver mSmsDeliveryListener = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
try{
int result = getResultCode();
switch (result){
case Activity.RESULT_OK:
//SMS Delivered
break;
case Activity.RESULT_CANCELED:
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
case SmsManager.RESULT_ERROR_NO_SERVICE:
case SmsManager.RESULT_ERROR_NULL_PDU:
case SmsManager.RESULT_ERROR_RADIO_OFF:
//SMS Delivery failed
break;
default:
//SMS Delivery failed
break;
}
}//End of Switch
}catch (Exception e) {
e.printStackTrace();
}
}
};