Android-使用电源按钮作为启动应用程序的触发器

Android-使用电源按钮作为启动应用程序的触发器,android,android-activity,lockscreen,Android,Android Activity,Lockscreen,我正在尝试构建一个应用程序,当按下物理电源按钮时,它可以在锁屏上显示,比如连续快速按下2次或长时间按下 到目前为止,我发现我需要一个- 1项服务-我需要一项服务,该服务应能拦截电源按钮按下2次/长按-无论设备是否锁定 2接收器-用户广播接收器,用于从服务中捕获广播意图并启动我的主要活动 关于SO的许多问题都是相似的,但没有一个涉及到如何做到这一点,因为- 该服务无法检测按键事件&因此需要找到其他方法来确定按下电源键的时间。建议的替代方法是使用屏幕打开和屏幕关闭意图。但是,如果服务在后台运行,并且

我正在尝试构建一个应用程序,当按下物理电源按钮时,它可以在锁屏上显示,比如连续快速按下2次或长时间按下

到目前为止,我发现我需要一个-

1项服务-我需要一项服务,该服务应能拦截电源按钮按下2次/长按-无论设备是否锁定 2接收器-用户广播接收器,用于从服务中捕获广播意图并启动我的主要活动

关于SO的许多问题都是相似的,但没有一个涉及到如何做到这一点,因为- 该服务无法检测按键事件&因此需要找到其他方法来确定按下电源键的时间。建议的替代方法是使用屏幕打开和屏幕关闭意图。但是,如果服务在后台运行,并且屏幕被其他应用程序(如来电)唤醒,则使用它们会导致问题

我见过一些使用电源按钮启动应用程序或活动的应用程序。 1按一下- 2个电源按钮手电筒-

有没有关于如何通过按下电源按钮启动应用程序/活动的想法? 然后在锁屏上显示。

简短回答:你不能!系统不是这样构建的

有多少次,当有人说:你不能,他实际上是说,你不能,没有破解它

因此,这里有一个黑客的想法:

正如您所提到的,服务无法侦听关键事件,但活动可以。所以,活动是你的答案

当屏幕关闭时开始你的活动,当它回来时杀死它。同时也要透明,以防你失去同步,不想被人发现

现在,您有了一个更容易解决的问题,即如何从活动内部触发电源按钮