Загрузочный BroadcastReceiver не работает на устройствах Xiaomi

У меня есть следующее BroadcastReceiver который должен работать после завершения загрузки. Я проверил его на своем устройстве Xiaomi (Redmi 1s), он не работает, в то время как на других устройствах, таких как Samsung, он работает, как ожидалось.

public class DeviceBootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
            Toast.makeText(context, "I am Running", Toast.LENGTH_SHORT).show();
        }
    }
}

Я установил разрешение в Манифесте.

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

И вот мой широковещательный приемник:

<receiver android:name=".receiver.DeviceBootReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
    </intent-filter>
</receiver>

1 ответ

Решение

Я искал в Интернете и нашел решение, я решил ответить на свой вопрос. Следуйте тому же коду, приведенному в вопросе.

На устройствах Xiaomi вам просто нужно добавить свое приложение в список автозапуска, чтобы сделать это, выполните следующие простые шаги, приведенные ниже:

  1. Откройте приложение безопасности на вашем телефоне.

  2. Нажмите на Разрешения, он покажет вам две опции: Автозапуск и Разрешения

  3. Нажмите на автозапуск, он покажет вам список приложений с кнопками включения или выключения.

  4. Включите переключатель вашего приложения, все готово!

Теперь перезагрузите телефон, и вы увидите тостовое сообщение, которое я запускаю