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

时间:2014-06-03 11:16:36

标签: android

我必须解雇这个系统Dialog(附后)。 我得到了这个值,但是我无法在服务中以编程方式解除它。在活动中。

我的问题是:

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

enter image description here

4 个答案:

答案 0 :(得分:22)

请检查

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

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

它正在我的代码中工作。

答案 1 :(得分:20)

您可以使用 - ACTION_CLOSE_SYSTEM_DIALOGS

  

广播操作:当用户操作请求时广播   解雇的临时系统对话框。

public static final String ACTION_CLOSE_SYSTEM_DIALOGS

在API级别1中添加

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

常量值:" android.intent.action.CLOSE_SYSTEM_DIALOGS"

此信息可在android developer site找到。

工作示例 -

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);

                }
            }

        }

    }

答案 2 :(得分:12)

尝试使用以下内容:

sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));

答案 3 :(得分:2)

当窗口焦点丢失时,您可以使用ACTION_CLOSE_SYSTEM_DIALOGS。但请注意,这样做还会阻止用户在应用程序运行时关闭手机,因为“关闭电源”对话框也是系统对话框。