Тревога не срабатывает после разрешения авто разрешения на красный ми

Я хочу запустить планировщик для выполнения задачи каждый час. Для этого я использую диспетчер тревог.

Но на красном ми фоновые процессы заблокированы. Когда я искал, я обнаружил, что нам нужно вручную запустить разрешения для конкретного приложения для запуска фоновых процессов.

Поэтому я попытался отправить пользователя в режим автозапуска и запустил разрешение для приложения, но сигнал тревоги не сработал. Я дал более короткое время как одну минуту для тестирования. Это работает на Moto G4 plus, задача выполнялась ежечасно, но она не работает на красном устройстве mi после разрешения разрешения.

   if (! mSessionData.getBoolean("autoPermissionAllowed", false)) {
                    String manufacturer = android.os.Build.MANUFACTURER;

                    if (("xiaomi".equalsIgnoreCase(manufacturer)) || ("oppo".equalsIgnoreCase(manufacturer)) || ("vivo".equalsIgnoreCase(manufacturer))
                            || ("Letv".equalsIgnoreCase(manufacturer)) || ("Honor".equalsIgnoreCase(manufacturer))) {
                        Utils.addAutoStartup(StartUpActivity.this);

                        AlertDialog.Builder alert = new AlertDialog.Builder(this);
                        alert.setTitle("Checking Auto Permission");
                        // this is set the view from XML inside AlertDialog
                        View view = getLayoutInflater().inflate(R.layout.auto_permission_check_dialog, null);
                        alert.setView(view);
                        // disallow cancel of AlertDialog on click of back button and outside touch
                        alert.setCancelable(false);

                        alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                dialog.dismiss();
                            }
                        });

                        alert.setPositiveButton("Done", new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog, int which) {

                                dialog.dismiss();
                            }
                        });
                        AlertDialog dialog = alert.create();

                        CheckBox checkBox = (CheckBox) view.findViewById(R.id.check_box_confirm);

                        checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                            @Override
                            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {

                                if (b) {

                                    mSessionData.add("autoPermissionAllowed", true);

                                    setUpUI();
                                    listeners();
                                }

                            }
                        });

                        dialog.show();
                    }
                }

Я что-то пропустил? Пожалуйста помоги. Спасибо.

0 ответов

Другие вопросы по тегам