如何解除Android中的系统对话框?

我不得不解雇这个系统的Dialog (下面附上)。 我得到这个值,但我不能以服务不在活动中以编程方式解雇它。

我的问题是:

  1. 可以解雇吗? 如果是,请帮助或指导我如何实现它。

在这里输入图像说明

请检查一下

 @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 String ACTION_CLOSE_SYSTEM_DIALOGS

在API级别1中添加

广播动作:当用户动作应该请求临时系统对话框消除时广播。 临时系统对话框的一些示例是通知窗口阴影和最近的任务对话框。

常量值: “android.intent.action.CLOSE_SYSTEM_DIALOGS”

这个信息可以在android开发者站点find。

工作示例 –

Android Manifest-

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

Class文件 –

 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。 但请注意,这样做也会阻止用户在应用程序运行时closures手机,因为“关机”对话框也是一个系统对话框。