2015-11-05 68 views
0

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

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

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

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

我错过了什么吗?

回答

0

您可以使用广播接收器执行此类事件。就像你按音量增加键,然后广播事件将生成事件,并与该事件,你可以执行您的操作。您只需要在清单文件中注册一个广播接收器,用于音量提升事件。一旦您在清单文件中注册了该事件,您就可以使用音量调高您的任务。创建一个班级并使用广播收件人进行扩展。并重写onrecieve方法。在onrecieve方法中写下你的操作。无论何时会产生音量提升事件,广播接收者都将监听事件并执行您的任务。 这样你就可以完成你的任务。

相关问题