Разрешение службы SMS не может работать в более низкой версии

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

в другой код версии работает нормально:

Вот мой код:

public class MySMSBroadCastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // Get Bundle object contained in the SMS intent passed in
        Bundle bundle = intent.getExtras();
        SmsMessage[] smsm = null;
        String sms_str = "";

        if (bundle != null) {
            // Get the SMS message
            Object[] pdus = (Object[]) bundle.get("pdus");
            smsm = new SmsMessage[pdus.length];
            for (int i = 0; i < smsm.length; i++) {
                smsm[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);

                sms_str += "\r\nMessage: ";
                sms_str += smsm[i].getMessageBody().toString();
                sms_str += "\r\n";
                sms_str = sms_str.replaceAll("[^0-9?!\\.]", "");

                String Sender = smsm[i].getOriginatingAddress();
                //Check here sender is yours
                Intent smsIntent = new Intent("otp");
                smsIntent.putExtra("message", sms_str);
                LocalBroadcastManager.getInstance(context).sendBroadcast(smsIntent);

            }
        }
    }
}



    <receiver android:name=".Otpsms.MySMSBroadCastReceiver">
            <intent-filter android:priority="999">
                <action android:name="android.provider.Telephony.SMS_DELIVER" />
            </intent-filter>
        </receiver>


 MySMSBroadCastReceiver receiver = new MySMSBroadCastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equalsIgnoreCase("otp")) {
                final String message = intent.getStringExtra("message");
                if (et_code_otp != null) {
                    et_code_otp.setText(message);
                }
            }
        }
    };

person Gajanan Patil    schedule 19.02.2018    source источник
comment
Возможный дубликат SMS Broadcast Receiver не работает   -  person Gastón Saillén    schedule 19.02.2018
comment
Возможный дубликат не может прочитать OTP из сообщения   -  person Firoz Memon    schedule 19.02.2018
comment
я добавил все разрешения, а также время выполнения, он не может получить разрешение на самую низкую версию   -  person Gajanan Patil    schedule 19.02.2018