2014-01-08 33 views
2

剂量谁知道如何声明一个IntentFilter与长按回来按钮的动作?我知道长按搜索按钮有一个ACTION_SEARCH_LONG_PRESS选项,但对于后退按钮,没有相应的ACTION_BACK_LONG_PRESS选项。这意味着你可以这样做:android:如何声明一个IntentFilter与长按回来按钮的动作?

IntentFilter filter = new IntentFilter(Intent.ACTION_SEARCH_LONG_PRESS); 

,但你不能做:

IntentFilter filter = new IntentFilter(Intent.ACTION_BACK_LONG_PRESS); 

所以,我怎么能添加一个选项ACTION_BACK_LONG_PRESS使第二命令是否有效?还是有其他方法来实现这一点?

回答

2

那么如何添加一个选项ACTION_BACK_LONG_PRESS来使第二个命令有效?

你不行。 Android SDK不会公开从应用程序外部检测此事件的方式。

或者是否有其他的方法来实现呢?

如果您的目标是在前台有一个活动检测长按BACK,you can handle that through onKeyLongPress()

+0

感谢您的回复,但我想在任何情况下激活一些服务,即使在主屏幕下,这意味着它不会在某个活动或应用程序中。我想onKeyLongPress只适用于你的应用程序,当在应用程序之外时,它会以另一种方式工作。这样对吗?希望我错了。 – hexicn

+0

@hexicn:“当在应用程序之外时,它会以另一种方式工作” - 没有“其他方式”。你想要的东西不被Android支持。 *也许*将有一种方法可以在根植设备上执行此操作。 – CommonsWare

+0

“另一种方式”我的意思是,如果另一个应用程序已经使用onKeyLongPress实现了长时间不同的动作,它将以“另一种方式”进行响应。尽管感谢您的回复。 – hexicn