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

什么原因可能导致应用程序无法正确检测到home(主页)按钮按下时间?

岳城
2023-03-14

我有一个应用程序,在主页按钮上按下它执行某个动作,大多数时候按下被检测到,动作被成功执行。

但有时媒体没有被发现没有明显的原因。通过此接收器检测到印刷机:

@Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
                String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);
                [...] 
                        if (reason.equals(SYSTEM_DIALOG_REASON_HOME_KEY)) {
                            mListener.onHomePressed();
                            [...]                        

                        }
                    }
                }
            }
        }

为什么会发生这样的事情?有没有办法,如果它被按下,它总是在接收时触发?

共有1个答案

解浩渺
2023-03-14

为什么会发生这样的事情?

如果您的应用程序在后台,并且您通过注册接收器()注册接收器,则不会收到该广播。此外,我不知道是否有要求所有设备发送该广播。另外,有些设备没有HOME按钮(例如,Chrome操作系统)。

有没有办法,如果它被按下,它总是在接收时触发?

我不知道。

我将更加关注删除此功能。通过这种方式,您的应用程序更有可能与更多设备兼容。

 类似资料:
  • 假设有几个以编程方式创建的按钮,并且有一个通用的按钮处理程序。 如何理解处理器内部哪个按钮被按下? 而不在函数调用中传递一些特殊的东西。那不行:< code > onButtonClicked(" button " I); 例如,在JavaScript中,在处理程序内部有< code>$(this),它可以立即“理解”按下了哪个按钮。 也许在颤振中也有类似的机制?我想在按钮上挂起属性(事先不知道哪

  • 问题内容: 未调用音量按钮通知功能。 码: 在viewWillAppear中被调用 无论哪种情况,代码都不会到达print语句。 我正在尝试两种不同的方法来做到这一点,但都没有用。 我已遵循以下步骤:检测iPhone的音量按钮按下了吗? 问题答案: 使用第二种方法,密钥路径的值应为。那就是我们正在观察的财产。因此将代码更改为

  • 这是崩溃错误logcat,每次我时钟在我的寄存器btn应用程序崩溃。 我的模拟器是在Android模拟器设备上的2gb ram。 2019-09-22 16:36:39.307 6454-6454/com。康奈克斯。connexsocial E/AndroidRuntime:致命异常:主进程:com。康奈克斯。connexsocial,PID:6454Android系统。所容纳之物Activity

  • 在我的应用程序中,我想在按下后退按钮时退出应用程序,这是我的代码: 它工作正常,但当我退出应用程序时,它不会完全退出,并显示带有我的应用程序徽标的空白页面,当我再次按下后退按钮退出应用程序,我如何修复它??? 编辑: 我使用这个代码而不是上面的代码,但我的应用程序完全退出,但我希望它在后台运行并且不完全退出,我该怎么做?

  • 我有一个奇怪的问题,关于android up按钮的新闻区域,我正在设置家庭像这样up 我在其中一个设备上有两个三星Galaxy Nexus,home按钮可点击区域包括图标和文本。而在另一个设备上,只有图标包含在可点击区域中?这是为什么?如何使文本和图标始终包含在可点击区域中?

  • 我已经谷歌了几个小时了,我似乎不能让这个东西工作。我正在创建一个简单的Netbeans项目应用程序,允许用户登录并向应用程序添加(在数据库中存储他们的详细信息)人员。 我必须使用MySQL数据库,我已经遵循了所有指示,但我就是无法连接。请参阅下面的屏幕截图。我也在使用下载的jar。我做错了什么?请帮忙 Netbean 8.1 MySQL Server 5.6 Windows 10