当我的应用程序在后台时捕捉Android上的硬件按钮

g6baxovj  于 2022-11-03  发布在  Android
关注(0)|答案(1)|浏览(106)

我想执行一些代码时,用户按下一个硬件按钮(这并不重要,这些,但电源是首选)。
我想捕捉事件,即使应用程序最小化到后台,设备正在睡眠。(主要任务是处理事件,当设备在口袋里,用户连续按下按钮三次,但没有取出设备)。
这可能吗?如果电源键不可能,那么音量键或主页键可能吗?我该怎么做?
我试过许多方法,但唯一奏效的是:

IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
BroadcastReceiver mReceiver = new ScreenReceiver();
registerReceiver(mReceiver, filter);

但我不能处理三次按下,因为巨大的延迟之间的实际按钮按下和接收器的代码执行。

lo8azlld

lo8azlld1#

我不认为Android会允许这样做。前台的应用程序在逻辑上应该在所有方面都得到优先权。按照你的建议去做就像是拦截另一个应用程序的行为 (他们可能也想使用硬件按钮)。我认为这一定违反了T&C。

相关问题