Java 为什么在Android中显示警报对话框时无法控制媒体音量?

Java 为什么在Android中显示警报对话框时无法控制媒体音量?,java,android,Java,Android,我正在通过应用程序以编程方式控制媒体音量。当媒体音量低于一定范围时,我正在设置警报对话框。此时显示此警报时,如果我尝试调整音量控制器按钮,振铃器音量将得到调整,而不是媒体音量。 为什么会这样 我正在使用这些线路来控制媒体音量 case KeyEvent.KEYCODE_VOLUME_DOWN: audio.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJ

我正在通过应用程序以编程方式控制媒体音量。当媒体音量低于一定范围时,我正在设置警报对话框。此时显示此警报时,如果我尝试调整音量控制器按钮,振铃器音量将得到调整,而不是媒体音量。 为什么会这样

我正在使用这些线路来控制媒体音量

case KeyEvent.KEYCODE_VOLUME_DOWN:

             audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                    AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
             return true;
case KeyEvent.KEYCODE_VOLUME_UP:

             audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                    AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);

             return true;
警报对话框关闭后,我可以控制媒体音量。
我只在手机中面对这个问题,而不是在平板电脑中。

您可能需要打电话

让手机自己控制音量怎么样?设计师们就是这么想的。省去了你很多麻烦。您只需将这一行添加到每个活动的onCreate()中:

setVolumeControlStream(AudioManager.STREAM_MUSIC);
如果要截取该卷并在其超过阈值保持时添加警告,请继续。它应该仍然有效