1

我正在开发主屏幕替换应用程序。我有一个活动设置为默认值,我想覆盖(在某种意义上)双击主页按钮时发生的情况。到目前为止,我在onResume()Home 活动的方法中有代码,可以检测 Home 按钮是否被快速连续点击两次。所以本质上,如果双击主页按钮,我可以运行代码。

问题是,在我的代码之上,用户可以在设置中设置一个应用程序,该应用程序在双击主页按钮时启动。所以我的代码都运行了,这个应用程序也启动了。似乎没有办法覆盖主页按钮的系统双击(根据我在 SO 上阅读的内容),但是有没有办法调出选择器对话框,其中用户选择应用程序以在双击时启动,并提示他选择“无”?或者类似于将用户带到他自己的设置并敦促更改它们的东西?

编辑:或者,如果我可以覆盖主页按钮的双击(我可能错过了 SO)在我的活动运行时什么都不做,那怎么做?

4

1 回答 1

2

以下代码放置在主屏幕替换活动的 onResume() 上,允许您在连续两次点击主屏幕时运行代码块。int 检测DoubleTap = 0; // 将其定义为外部类中的静态变量,或者在 onCreate() 中定义为全局变量

if (System.currentTimeMillis() - detectDoubleTap < 250) {
    // Code to be run on double tap
}
detectDoubleTap = System.currentTimeMillis();

虽然这很好用,但似乎(回答我的问题)没有任何方法可以强制覆盖用户设置为双击启动应用程序的任何内容。因此,如果有一个通过双击启动的应用程序,上面的代码将运行,并且该应用程序将启动。

于 2013-10-18T19:14:34.767 回答