Как отклонить системный диалог в Android?

Мне нужно отклонить эту систему Dialog (прилагается ниже). Я получаю эту ценность, но я не могу ее программно отключить в Службе не в действии.

Мой вопрос:

  • Можно ли уволить его? если да, пожалуйста, помогите мне или помогите мне, как ее достичь.

enter image description here

Ответ 1

Пожалуйста, проверьте его

@Override
public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);

        if (! hasFocus) {
            Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
            sendBroadcast(closeDialog);
        }
    }

Он работает в моем коде.

Ответ 2

Вы можете использовать - ACTION_CLOSE_SYSTEM_DIALOGS

Трансляция: это широковещательная передача, когда пользовательское действие должно запрашивать временный системный диалог для отклонения.

public static final Строка ACTION_CLOSE_SYSTEM_DIALOGS

Добавлен в уровень API 1

Broadcast Action: это широковещательная передача, когда пользовательское действие должно запрашивать временное системное диалоговое окно для отклонения. Некоторые примеры временных системных диалогов - это окно окна уведомлений и диалог последних задач.

Постоянное значение: "android.intent.action.CLOSE_SYSTEM_DIALOGS"

Эта информация находится на сайте разработчика Android.

Рабочий пример -

Android Manifest -

<receiver android:name=".SystemDialogReceiver">
            <intent-filter>
                <action android:name="android.intent.
                 action.CLOSE_SYSTEM_DIALOGS" />
            </intent-filter>
</receiver>

Файл класса -

class SystemDialogReceiver extends BroadcastReceiver {
        private static final String SYSTEM_DIALOG_REASON_KEY = "reason";
        private static final String 
        SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps";
        @Override
        public void onReceive(Context context, Intent intent) {

            if(intent.getAction().equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)){
                String dialogType = intent.
                getStringExtra(SYSTEM_DIALOG_REASON_KEY);
                if(dialogType != null && dialogType.
                equals(SYSTEM_DIALOG_REASON_RECENT_APPS)){
                    Intent closeDialog = 
                    new Intent(Intent.
                    ACTION_CLOSE_SYSTEM_DIALOGS);
                    context.sendBroadcast(closeDialog);

                }
            }

        }

    }

Ответ 3

Попробуйте использовать следующее:

sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));

Ответ 4

Вы можете использовать ACTION_CLOSE_SYSTEM_DIALOGS, когда фокус фокуса теряется. Но учтите, что это также предотвратит отключение телефона во время работы вашего приложения, потому что диалоговое окно Power Off также является системным диалогом.