Android: перехват исходящих SMS с использованием ContentObserver или приемника не работает

Я пытаюсь поймать исходящее SMS-событие с помощью обозревателя контента.

//TEST OBSERVER
        ContentObserver co = new SMSoutObserver(new Handler(), getApplicationContext());
        ContentResolver contentResolver = getApplicationContext().getContentResolver();
        contentResolver.registerContentObserver(Uri.parse("content://sms/out"),true, co);
        // END TEST OBSERVER

а также

public class SMSoutObserver extends ContentObserver {

    private Context mCtx;

    public SMSoutObserver(Handler handler, Context ctx) {
        super(handler);
        mCtx = ctx;
    }

    @Override
    public void onChange(boolean selfChange) {
        super.onChange(selfChange);
        // save the message to the SD card here
        Logger.d("On Change");
        Toast.makeText(mCtx,"TEST", Toast.LENGTH_LONG).show();
    }
}

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

Я пытался использовать приемник тоже.

<receiver android:name=".receiver.SMSReceiver"
                  android:enabled="true"
                  android:exported="true"
                  android:priority="1000">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
                <action android:name="android.provider.Telephony.SMS_SENT"/>
            </intent-filter>
        </receiver>

с приемником

public class SMSReceiver extends BroadcastReceiver {

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

            Logger.d("SMSReceiver triggered");
            if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){
                //do something with the received sms
                Logger.d("Incoming SMS");
            }else  if(intent.getAction().equals("android.provider.Telephony.SMS_SENT")){
                //do something with the sended sms
                Logger.d("Outgoing SMS");
            }
            // Start reminder service
            // context.startService(new Intent(context, ReminderService.class));
        } catch (Exception e) {
            Logger.e("onReceive method cannot be processed");
            TrackingEventLogHelper.logException(e, Constants.Global.EXCEPTION,
                    Constants.ExceptionMessage.EXC_CANNOT_CANNOT_PROCESS_REBOOT_RECEIVER, true);
        }
    }

}

Но этот приемник срабатывает только для входящих сообщений, а не для исходящих. Как я должен сделать это правильно, работая на Android версии> 5 тоже.

Большое спасибо за любой совет

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

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