Мне нужно отклонить эту систему Dialog
(прилагается ниже).
Я получаю эту ценность, но я не могу ее программно отключить в Службе не в действии.
Мой вопрос:
- Можно ли уволить его? если да, пожалуйста, помогите мне или помогите мне, как ее достичь.
Мне нужно отклонить эту систему Dialog
(прилагается ниже).
Я получаю эту ценность, но я не могу ее программно отключить в Службе не в действии.
Мой вопрос:
- Можно ли уволить его? если да, пожалуйста, помогите мне или помогите мне, как ее достичь.
Пожалуйста, проверьте его
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (! hasFocus) {
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
sendBroadcast(closeDialog);
}
}
Он работает в моем коде.
Вы можете использовать - ACTION_CLOSE_SYSTEM_DIALOGS
Трансляция: это широковещательная передача, когда пользовательское действие должно запрашивать временный системный диалог для отклонения.
public static final Строка ACTION_CLOSE_SYSTEM_DIALOGS
Broadcast Action: это широковещательная передача, когда пользовательское действие должно запрашивать временное системное диалоговое окно для отклонения. Некоторые примеры временных системных диалогов - это окно окна уведомлений и диалог последних задач.
Постоянное значение: "android.intent.action.CLOSE_SYSTEM_DIALOGS"
Рабочий пример -
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);
}
}
}
}
Попробуйте использовать следующее:
sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
Вы можете использовать ACTION_CLOSE_SYSTEM_DIALOGS, когда фокус фокуса теряется. Но учтите, что это также предотвратит отключение телефона во время работы вашего приложения, потому что диалоговое окно Power Off также является системным диалогом.