0

我一直在尝试制作一个禁用音量更改的应用程序。我已经为音量增大和音量减小按钮做了它。但是我意识到按下音量按钮后仍然可以通过触摸屏幕来改变音量。我正在考虑禁用音量控制弹出,但它似乎是一个死胡同。然后我想到了ontouchlistener。那么问题是只有在我触摸活动时才会调用 ontouch 监听器,而不是音量控制。

是否可以在音量控制上设置 ontouchlistener?或者也许有其他想法?任何一个都可以

提前致谢 :)

4

2 回答 2

0

您无法控制或拦截音量对话框上的触摸事件,因为它是系统 UI 的一部分,而不是您的应用程序。

您可以使用 WindowManager 在可以使用触摸事件的卷对话框上绘制任意布局,但是您必须非常快速地添加和删除它,以便它仅在对话框出现时才存在。如果即使对话框不存在也保持它存在,您将使屏幕的该部分不可用。

通常,像这样的应用程序是 Android 反模式,因为用户应该始终控制他们的设备。

于 2013-05-17T18:30:18.020 回答
0

你可以尝试一件事。要禁用,您可以覆盖音量键的 keyevent,如下所示

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN
            || keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)
        return true;
    else
        return false;
}
于 2013-05-17T18:32:21.717 回答