您的位置:首页 > 其它

安卓系统如何开启和关闭插入耳机时弹出的保护听力对话框

2015-11-27 15:22 936 查看
Android系统在4.2及以后的版本里面增加了耳机音量保护功能,当插入耳机且音量增大到一定级别时,会弹出“音量过大会伤害听力”的对话框,如果不想在增加音量时弹出此对话框,可以在代码里面做如下修改:

1. 修改~/framework/base/core/res/res/values/config.xml中config_safe_media_volume_enabled的值为false;

2. 调用AudioService.disableSafeMediaVolume()关闭对话框,调用setSafeMediaVolumeEnabled()打开对话框;

3. 直接在AudioService.java源码里面将mSafeMediaVolumeState设置为以下值;

SAFE_MEDIA_VOLUME_DISABLED关闭对话框

SAFE_MEDIA_VOLUME_ACTIVE打开对话框

4. 直接修改checkSafeMediaVolume()这个函数,改为如下:



private boolean checkSafeMediaVolume(int streamType, int index, int device) {

synchronized (mSafeMediaVolumeState) {

if ((mSafeMediaVolumeState == SAFE_MEDIA_VOLUME_ACTIVE) &&

(mStreamVolumeAlias[streamType] == AudioSystem.STREAM_MUSIC) &&

((device & mSafeMediaVolumeDevices) != 0) &&

(index > mSafeMediaVolumeIndex)) {

mVolumePanel.postDisplaySafeVolumeWarning();

return false;

}

return true;

}

}

改为

private boolean checkSafeMediaVolume(int streamType, int index, int device) {

synchronized (mSafeMediaVolumeState) {

if ((mSafeMediaVolumeState == SAFE_MEDIA_VOLUME_ACTIVE) &&

(mStreamVolumeAlias[streamType] == AudioSystem.STREAM_MUSIC) &&

((device & mSafeMediaVolumeDevices) != 0) &&

(index > mSafeMediaVolumeIndex)) {

//mVolumePanel.postDisplaySafeVolumeWarning();

//return false;

return true;

}

return true;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: