当前位置: 首页 > 知识库问答 >
问题:

Android以编程方式取消系统对话框

赫连冠玉
2023-03-14

我想以编程方式取消系统生成的报警对话框。我已经尝试了这里提供的所有解决方案(stackoverflow)但似乎都不起作用。这是普遍接受的答案,但它只排除了通知面板和最近的任务菜单。

我已经在操作系统版本4.0.3、4.2.2、4.4.2和5.1.1的设备上测试了它,它在所有这些设备上都具有相同的行为。有一些应用程序实际上可以取消所有的系统对话框(Mubble)。有人能建议一下是怎么做的吗?

谢谢

共有1个答案

东门清夷
2023-03-14

对此通常的回答是

sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));

然而,这并不是对所有事情都起作用的。特别是,在某些设备上,它对“最近的应用程序”列表不起作用。

解决方法是检测你的应用什么时候失去焦点,然后把你的应用移动到前面。请注意,您的应用程序需要android.permission.reorder_tasks权限来执行此操作。

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus) {
        this.keepFocus = true;
    }
    if (! hasFocus && this.keepFocus) {
        ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
        am.moveTaskToFront(getTaskId(), ActivityManager.MOVE_TASK_WITH_HOME );
    }
}
 类似资料:
  • 我必须取消此系统(附件如下)。我正在获取这个值,但是我不能在服务中,而不是在活动中,以编程方式取消它。 我的问题是: null

  • 问题内容: 我对joptionpane有疑问。 使用JOptionPane.showMessageDialog(…),我们可以创建一个消息对话框。但是如何以编程方式将其关闭? 问题答案: 您总是可以通过获取其持有的任何组件的WindowAncestor来获得对JOptionPane的引用,然后调用或返回Window。该窗口可以通过使用获得 例如:

  • 问题内容: 是否可以以编程方式在android中接听电话? 我找到了一些不可能的地方,但随后安装了应用https://play.google.com/store/apps/details?id=com.a0softus.autoanswer可以 正常工作。 我已经搜索了很多并尝试了很多方法,而且呼叫拒绝功能正常,但呼叫应答功能却无效。 我尝试了以下代码进行电话应答,如下所示: 函数拒绝调用可以正常

  • 问题内容: 我们正在从具有打开保护并已启用写保留保护的客户端获取Excel文件。我想删除保护,因此可以使用python xlrd模块打开Excel文件。我已经安装了pywin32软件包以通过COM访问Excel文件,并且可以使用提供两个密码的程序打开它,保存并关闭文件而不会出现任何错误。我使用的是MSDN网络中所述的Unprotect命令,它们没有失败,但也没有删除保护。程序完成后,保存的文件仍然

  • 问题内容: 我有一个隐藏的文件输入元素。是否可以通过按钮的单击事件来触发其 选择文件 对话框? 问题答案: 如果您希望使用自己的按钮来上传文件而不是使用,则可以执行以下操作: 请注意,我使用而不是。您不能在未显示的文件输入上调用click事件。