Подтвердить что ты не робот

Как я могу переадресовать входящие SMS с определенным текстом

Я хочу знать о перехвате входящих sms для определенного ключевого слова EX: "Привет", чтобы я мог прочитать sms, содержащий "Hi" в нем, и удалить его после прочтения msg, и если этот msg doesn ' t содержит любой такой текст, тогда он не будет удален и вместо этого сохранен в папке "Входящие". Ребята, пожалуйста, помогите мне. Мне очень сложно выполнить эту функцию.

4b9b3361

Ответ 1

Ищите Broadcast Receiver, это зависит от приложений, установленных на телефоне, но вы можете придать приоритет приложению для прослушивания сообщений. Хотя, когда будет показано уведомление, сообщение еще не будет в базе данных SMS, поэтому вам нужно будет использовать abortBroadcast(), чтобы остановить уведомление других приложений. См. Пример ниже:

public class MessageReceiver extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
             Bundle pudsBundle = intent.getExtras();
             Object[] pdus = (Object[]) pudsBundle.get("pdus");
             SmsMessage messages =SmsMessage.createFromPdu((byte[]) pdus[0]);    
             Log.i(TAG,  messages.getMessageBody());
                 if(messages.getMessageBody().contains("Hi")) {
                     abortBroadcast();
                 }
    }

И вам нужно будет объявить получателя в манифесте так:

 <receiver android:name="com.encima.smsreceiver.MessageReceiver" android:exported="true">
    <intent-filter android:priority="999">
        <action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
    </intent-filter>

Наконец, убедитесь, что у вас есть разрешение на RECEIVE_SMS в манифесте, надеюсь, что это поможет!

Ответ 2

Как и в Android 4.4, то, что вы просите сделать в вопросе, невозможно

Начиная с версии 4.0 Android. Если ваше приложение не является стандартным приложением для обмена сообщениями, вы не сможете выполнять те вещи, которые обещаны в принятом ответе. Вы не можете ни остановить приложение обмена сообщениями по умолчанию от получения уведомления, ни удалить sms-сообщение.