2011-12-20 70 views
0

我正在开发一个安全应用程序。当用户按下硬件按钮达到特定时间时,就会发生动作。设备正在休眠时硬件按钮按下事件

我需要对Power或Volume等硬件按钮的按下作出反应。 我的应用程序必须在后台工作,无需用户解锁屏幕。问题是,当设备“睡着”时按下按钮时,我无法捕捉事件

情景可能是用户按下电源按钮3秒钟,这会导致发送电子邮件。

KeyEvent.KEYCODE_POWER在服务中不起作用,活动暂停或销毁。

任何想法如何解决我的问题?

是否有任何BrodcastReceiver意识到这一点?

回答

-2

use this buttonId.performClick();它用于以下目的。

没有点击那个按钮我们可以执行该按钮的点击操作意味着没有点击那个按钮我们就可以调用该按钮的onclick方法。

+0

我不认为这回答了这个问题。所需要的是检测一个实际的按钮点击,而不是伪造一个。 – barry 2011-12-20 08:42:02

+0

buttonid.setOnClickListener(new ....编写你想要运行的代码); – 2011-12-20 09:13:54

+0

他的应用程序在后台运行,需要检测硬件按钮,所以这仍然没有帮助。 – barry 2011-12-20 13:29:38

1

我认为最好的方法是创建BroadcastReceiver。但是,这里会出现订阅问题。也许你可以找到适合你的东西here。寻找“标准广播行动”。

+0

在链接中最好搜索字符串“这是受保护的意图,只能由系统发送” – Jin35 2011-12-20 12:28:53

相关问题