我一直在尝试制作一个禁用音量更改的应用程序。我已经为音量增大和音量减小按钮做了它。但是我意识到按下音量按钮后仍然可以通过触摸屏幕来改变音量。我正在考虑禁用音量控制弹出,但它似乎是一个死胡同。然后我想到了ontouchlistener。那么问题是只有在我触摸活动时才会调用 ontouch 监听器,而不是音量控制。
是否可以在音量控制上设置 ontouchlistener?或者也许有其他想法?任何一个都可以
提前致谢 :)
我一直在尝试制作一个禁用音量更改的应用程序。我已经为音量增大和音量减小按钮做了它。但是我意识到按下音量按钮后仍然可以通过触摸屏幕来改变音量。我正在考虑禁用音量控制弹出,但它似乎是一个死胡同。然后我想到了ontouchlistener。那么问题是只有在我触摸活动时才会调用 ontouch 监听器,而不是音量控制。
是否可以在音量控制上设置 ontouchlistener?或者也许有其他想法?任何一个都可以
提前致谢 :)
您无法控制或拦截音量对话框上的触摸事件,因为它是系统 UI 的一部分,而不是您的应用程序。
您可以使用 WindowManager 在可以使用触摸事件的卷对话框上绘制任意布局,但是您必须非常快速地添加和删除它,以便它仅在对话框出现时才存在。如果即使对话框不存在也保持它存在,您将使屏幕的该部分不可用。
通常,像这样的应用程序是 Android 反模式,因为用户应该始终控制他们的设备。
你可以尝试一件事。要禁用,您可以覆盖音量键的 keyevent,如下所示
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN
|| keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)
return true;
else
return false;
}