Android sendTextMessage отправляет два одинаковых сообщения на исключение

Я работаю над приложением, которое отправляет SMS-сообщения. У меня проблема в том, что метод sendTextMessage отправляет два сообщения с одинаковым содержимым. Как мне это исправить?

Этот класс запускает процесс

public class C2DMMessageReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        //Some stuff
        Log.i("C2DMMessageReceiver", "Got C2DM message");
        SmsSend message = new SmsSend(context, phonenumber, line);
        message.send()
    }
}

Класс для отправки текстовых сообщений

public class SmsSend {
    SmsSend(Context tcontext, String phoneNumber, String smstext){
        context = tcontext;
        phone_number = phoneNumber;
        message = smstext; 
    }

    protected void send(){

        if(foo){
            Log.i("SmsSend", "Sending message");
            SmsManager sms = SmsManager.getDefault();
            String sent = "android.telephony.SmsManager.STATUS_ON_ICC_SENT";
            PendingIntent piSent = PendingIntent.getBroadcast(context, 0, new Intent(sent), 0);
            sms.sendTextMessage(phone_number, null, message, piSent, null);
        }

    }
}

класс, чтобы узнать, что радует

public class SmsSentBroadcastReciever extends BroadcastReceiver{
    private static final String TAG = "SmsSentBroadcastReciever";

    @Override
    public void onReceive(Context context, Intent intent) {
        switch (getResultCode()){
            case Activity.RESULT_OK:
                Log.i(TAG,"SMS sent");
                break;
            case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                Log.e(TAG,"Generic failure");
                break;
            case SmsManager.RESULT_ERROR_NO_SERVICE:
                Log.e(TAG,"No service");
                break;
            case SmsManager.RESULT_ERROR_NULL_PDU:
                Log.e(TAG,"PDU NULL");
                break;
            case SmsManager.RESULT_ERROR_RADIO_OFF:
                Log.e(TAG,"Radio off");
                break;
        }

    }

}

Выход из LogCat является

Получил сообщение C2DM

Отправка сообщения

Смс отправлено

Смс отправлено

Таким образом, sendTextMessage запускается только один раз, но все равно выдает два сообщения. Что делать?

Устройство, которое я отлаживаю, это Samsung Galaxy S2 с Android 4.0. Я прочитал некоторые старые темы, что sendTextMessage не работает на некоторых (HTC) устройствах, поэтому я попытался с sendMultipartTextMessage, но это дает тот же результат.

Ответы на вопрос(4)

Ваш ответ на вопрос