How to dismiss system dialog in Android?

前端 未结 4 1089
梦毁少年i
梦毁少年i 2020-12-02 09:02

I have to dismiss this system Dialog (Attached below). I am getting this value but I am not able to dismiss it programmatically in Service not in Activity.

4条回答
  •  清歌不尽
    2020-12-02 09:08

    You can use - ACTION_CLOSE_SYSTEM_DIALOGS

    Broadcast Action: This is broadcast when a user action should request a temporary system dialog to dismiss.

    public static final String ACTION_CLOSE_SYSTEM_DIALOGS

    Added in API level 1

    Broadcast Action: This is broadcast when a user action should request a temporary system dialog to dismiss. Some examples of temporary system dialogs are the notification window-shade and the recent tasks dialog.

    Constant Value: "android.intent.action.CLOSE_SYSTEM_DIALOGS"

    This information can be found at android developer site.

    Working example-

    Android Manifest-

    
                
                    
                
    
    

    Class file-

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

提交回复
热议问题