【发布时间】:2015-12-04 16:51:25
【问题描述】:
我不久前制作了一个应用程序,它可以在某些人来电时更改铃声模式。因此,当其中一个人打电话时,它会更改响铃模式以使通话以最大音量响铃。我用
setRingerMode(AudioManager.RINGER_MODE_NORMAL)
am.setStreamVolume(AudioManager.STREAM_RING, am.getStreamMaxVolume(AudioManager.STREAM_RING), 0);
该应用程序还将中断过滤器更改为 INTERRUPTION_FILTER_ALL,但为了简化操作,我们假设未启用“请勿打扰”。因此,例如,如果手机被设置为振动,当有匹配的联系人来电时,它会打开振铃器,并将音量设置为最大。
在我拿到带有 Marshmallow (Nexus 6P) 的手机之前,一切正常。现在,如果有来电,我的应用程序会像往常一样更改响铃模式和音量,但来电不会受到影响。即使铃声设置已更改,它的行为仍然相同。我可以验证我的应用程序是否正在进行更改 - 通话结束后,铃声音量设置完全符合它们应有的状态。如果另一个电话打进来,那个电话会正常响铃。响铃模式更改似乎没有应用于已经在进行中的来电。
对于导致此问题的 Marshmallow 中的哪些变化以及是否有解决方法,是否有人提出建议?
【问题讨论】:
标签: android android-6.0-marshmallow ring incoming-call