我需要使用音量按钮来控制应用程序中的变量参数.我Activity.onKeyDown按下按钮时会收到通知,但媒体音量也会增加.
当我按下音量键时,Android正在执行以下操作:
有没有办法避免增加系统音量和仅为我的应用程序使用音量键?
所以我构建了一个可以作为锁屏更换的应用程序.之后,我使用广播接收器和服务开始我的活动Intent.ACTION_SCREEN_OFF.因此,每当用户锁定屏幕时,我的活动就会启动,然后当他们按下解锁按钮时,我的活动已经在锁定屏幕上运行.但这仅在用户尝试在短时间内唤醒/解锁手机时才有效.如果他们等待太久,活动就会消失.我不知道为什么会发生这种情况,无论用户等待多长时间尝试解锁手机,我都可以做些什么来保持活动.
我想过并试着听,Intent.ACTION_SCREEN_ON但是当用户按下手机上的电源按钮唤醒它以及应用程序加载并显示在屏幕上时,会有一段延迟.在此间隙期间,用户可以看到Android操作系统
我正在尝试通过以下代码让我的应用程序对音量下调的长按键做出反应:
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
Log.w("myApp", "LONG PRESS");
}
return super.onKeyLongPress(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)
但是,它只onKeyPress()会使一堆事件发生故障,而且onKeyLongPress()永远不会被调用.我的目的是让音量降低,单独"短"按下,让我的应用程序对长按音量做出不同的反应.
任何人都可以指出我错过了什么吗?