如何解除Android中的系统对话框?
我不得不解雇这个系统的Dialog
(下面附上)。 我得到这个值,但我不能以服务不在活动中以编程方式解雇它。
我的问题是:
- 可以解雇吗? 如果是,请帮助或指导我如何实现它。
请检查一下
@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手机,因为“关机”对话框也是一个系统对话框。
- 如何在docker命令行中的dockerregistry中find具有特定标记的docker图像?
- MongoDB身份validation设置:“db.createUser不是一个函数”和“密码不能为空”
- 我怎样才能从我的Android设备访问我的本地主机?
- java.lang.IllegalArgumentException:包含一个path分隔符
- 在框架中遮蔽(裁剪)图像
- 如何将从URL中检索的图像存储在SQLite数据库中?
- Android Studio:像Eclipse一样自动构build
- 我应该在长时间运行的AsyncTask中使用getApplicationContext或Activity.this
- 检索项目的父项时出错:升级到AppCompat v23后,找不到与给定名称匹配的资源
- 如何使用onSaveInstanceState()和onRestoreInstanceState()?
- 从GoogleMap中移除一个标记