2015-10-07 2 views
0

Я работаю над отправкой и получением сообщений, у меня есть много ответов на получение сообщений через широковещательный приемник, но нет решения для отправленного сообщения.Как обнаружить отправленное сообщение?

<receiver 
      android:name="com.test.services.MessageReciver" 
      android:enabled="true" 
      android:permission="android.permission.BROADCAST_SMS" > 
      <intent-filter> 

       <action android:name="android.provider.Telephony.SMS_DELIVER" /> 
       <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 

      </intent-filter> 
     </receiver> 



public static final String ACTION_RECEIVED = "android.provider.Telephony.SMS_RECEIVED"; 
    public static final String ACTION_SENT = "android.provider.Telephony.SMS_DELIVER"; 

    Context context; 

    @Override 
    public void onReceive(Context context, Intent intent) { 

// this section works only when message received on in case of sent 
} 

Но работа радиовещательный приемник только для принятого сообщения не отправленное сообщение.

ответ

1

Вы должны поставить PendingIntent для отправки и отправки SMS. Пожалуйста, обратитесь ниже Синтаксис:

sendTextMessage (String DestinationAddress, String scAddress, String текст, PendingIntent sentIntent, PendingIntent deliveryIntent)

sentIntent и deliveryIntent могут быть использованы в качестве действия вещательной и вы можете выполнить свою желаемую задачу.

+0

Спасибо Но я посылаю сообщение от приложения сообщений по умолчанию. Я хочу обнаружить это сообщение, которое отправляет currnlty из приложения по умолчанию устройства не из пользовательского приложения. –

+0

OP не хочет отправлять SMS, он хочет обнаружить, когда отправлено SMS –

1

Проблема заключается в том, что они фактически являются действиями для получения, разница в том, что они доставляются только в стандартное приложение sms, а другое - во все sms-приложения.

public static final String SMS_DELIVER_ACTION

Broadcast Действие: Новый текст на основе SMS сообщение было получено устройством. Это намерение будет доставлено только в приложение sms по умолчанию.

Константа Значение: "android.provider.Telephony.SMS_DELIVER"


public static final String SMS_RECEIVED_ACTION

Broadcast Действие: Новый текст на основе SMS сообщение было получено устройством. Это намерение будет доставлено всем зарегистрированным получателям в качестве уведомления.

Константа Значение: "android.provider.Telephony.SMS_RECEIVED"

Там нет никакого действия, которое транслируется, когда SMS отправляется.

Для получения отправленной SMS-вещания, проверьте

+0

Привет, вы можете сказать, что вы хотите сказать. –

+0

@AmitSharma '" android.provider.Telephony.SMS_DELIVER "' не для доставляемых SMS, но и для полученных SMS. Имя путается –

+0

Я отредактировал вопрос, пожалуйста, перепроверьте и дайте мне знать, что у вас в голове –

Смежные вопросы