[英]How to dismiss system dialog in Android?
我必须解雇这个系统Dialog
(附在下面)。 我得到了这个值,但是我无法在Service in Activity中以编程方式解除它。
我的问题是:
- 有可能解雇它吗? 如果是,请帮助或指导我如何实现它。
请检查一下
@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
广播操作:当用户操作请求临时系统对话框解除时, 广播操作 。 临时系统对话框的一些示例是通知窗口阴影和最近的任务对话框。
常量值: “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>
班级档案 -
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。 但请注意,这样做还会阻止用户在应用程序运行时关闭手机,因为“关闭电源”对话框也是系统对话框。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.