我想在应用程序处于后台(暂停或停止)时更改流的音量 - AudioManager.STREAM_VOICE_CALL
。
我尝试使用setVolumeControlStream(AudioManager.STREAM_VOICE_CALL)
。当应用程序位于前台时,它可以很好地工作。但它会切换回在后台更改DEFAULT_STREAM_TYPE
的音量。
大多数媒体播放器(使用STREAM_MUSIC
)以及像WhatsApp这样的VOIP应用程序似乎已经解决了这个问题。
通过他们的代码他们似乎没有使用任何不同的东西。
我错过了什么吗?
答案 0 :(得分:0)
您可以使用广播接收器来执行此类事件。就像按下音量增大键一样,广播事件将生成事件,通过该事件,您可以执行操作。您只需在清单文件中注册音量增加事件的广播接收器即可。在清单文件中注册事件后,您可以使用该卷来完成任务。创建一个类并使用广播接收器进行扩展。并覆盖onrecieve方法。在onrecieve方法中编写您的操作。每当生成音量增加事件时,广播接收器将监听事件并执行您的任务。 这样你就可以完成任务。