我是否应该将音量设为onResume,然后使用AudioManager将音量设置为onPause?
还是有其他正确的方法吗?
谢谢!
答案 0 :(得分:2)
我认为您的答案在于setStreamMute()
的文档。
静音命令受到保护 客户端进程死亡:如果一个进程 有一个活动的静音请求 流死了,这个流将是 自动取消静音。
静音 对给定流的请求是 累积:AudioManager可以 从一个接收几个静音请求 或更多客户端和流将 只有当相同数量的时候才能取消静音 收到取消静音请求。
对于 更好的用户体验,应用 必须取消静音流中的静音 onPause()和静音再次出现 如果合适,请使用onResume()。
答案 1 :(得分:0)
如果有人有兴趣,可以采用一种解决方法来避免您的应用将所有内容静音。 执行以下操作,将使音量键静音,通知来电将保持系统配置(而不是强制静音)。
setVolumeControlStream(AudioManager.STREAM_DTMF);
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamMute(AudioManager.STREAM_DTMF, true);