当应用程序在后台时启用setVolumeControlStream()

时间:2015-11-05 10:51:27

标签: android

我想在应用程序处于后台(暂停或停止)时更改流的音量 - AudioManager.STREAM_VOICE_CALL

我尝试使用setVolumeControlStream(AudioManager.STREAM_VOICE_CALL)。当应用程序位于前台时,它可以很好地工作。但它会切换回在后台更改DEFAULT_STREAM_TYPE的音量。

大多数媒体播放器(使用STREAM_MUSIC)以及像WhatsApp这样的VOIP应用程序似乎已经解决了这个问题。

通过他们的代码他们似乎没有使用任何不同的东西。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

您可以使用广播接收器来执行此类事件。就像按下音量增大键一样,广播事件将生成事件,通过该事件,您可以执行操作。您只需在清单文件中注册音量增加事件的广播接收器即可。在清单文件中注册事件后,您可以使用该卷来完成任务。创建一个类并使用广播接收器进行扩展。并覆盖onrecieve方法。在onrecieve方法中编写您的操作。每当生成音量增加事件时,广播接收器将监听事件并执行您的任务。 这样你就可以完成任务。