Android 11.0 媒体音量条拖动会回退,如何在系统源码中修改
时间: 2023-12-14 08:37:29 浏览: 147
调整系统音量源码
要在Android 11.0源码中修改媒体音量条拖动回退的行为,可以按照以下步骤进行:
1. 打开Android 11.0源码,找到文件`packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java`。
2. 在该文件中找到方法`onInit()`,该方法在音量对话框初始化时被调用。
3. 在`onInit()`方法中找到以下代码:
```
mMediaVolume.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {
if (fromTouch) {
Events.writeEvent(mContext, Events.EVENT_VOLUME_SLIDER_CHANGED, 1, 0);
}
mController.setActiveStream(UsageEvents.Event.MEDIA);
mController.setStreamVolume(UsageEvents.Event.MEDIA, progress);
mHandler.removeMessages(H.REMOVE_DIALOG);
mHandler.sendMessageDelayed(mHandler.obtainMessage(H.REMOVE_DIALOG), getConsolidationDelay());
}
// ...
});
```
4. 将以上代码中的`onProgressChanged()`方法的第一个参数`SeekBar`改为`ProgressBar`,即:
```
mMediaVolume.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onProgressChanged(ProgressBar progressBar, int progress, boolean fromTouch) {
if (fromTouch) {
Events.writeEvent(mContext, Events.EVENT_VOLUME_SLIDER_CHANGED, 1, 0);
}
mController.setActiveStream(UsageEvents.Event.MEDIA);
mController.setStreamVolume(UsageEvents.Event.MEDIA, progress);
mHandler.removeMessages(H.REMOVE_DIALOG);
mHandler.sendMessageDelayed(mHandler.obtainMessage(H.REMOVE_DIALOG), getConsolidationDelay());
}
// ...
});
```
5. 保存修改并重新编译系统,然后将修改后的系统刷入设备即可。
注意:修改系统源码需要有一定的编程经验和相关知识,建议在了解相关知识后再进行操作。同时,修改系统源码可能会导致系统不稳定或出现其他问题,使用时需谨慎。
阅读全文