我不得不解雇这个系统Dialog(附在下面).我得到了这个值,但是我无法在Service in Activity中以编程方式解除它.
我的问题是:
- 有可能解雇它吗?如果是,请帮助或指导我如何实现它.

Ash*_*Ash 22
请检查一下
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (! hasFocus) {
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
sendBroadcast(closeDialog);
}
}
Run Code Online (Sandbox Code Playgroud)
它正在我的代码中工作.
My *_*God 20
您可以使用 - ACTION_CLOSE_SYSTEM_DIALOGS
广播操作:当用户操作请求临时系统对话框解除时,广播操作.
public static final String ACTION_CLOSE_SYSTEM_DIALOGS
广播操作:当用户操作请求临时系统对话框解除时,广播操作.临时系统对话框的一些示例是通知窗口阴影和最近的任务对话框.
常量值: "android.intent.action.CLOSE_SYSTEM_DIALOGS"
工作实例 -
Android清单 -
<receiver android:name=".SystemDialogReceiver">
<intent-filter>
<action android:name="android.intent.
action.CLOSE_SYSTEM_DIALOGS" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
班级档案 -
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);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Ner*_*een 12
尝试使用以下内容:
sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
Run Code Online (Sandbox Code Playgroud)