涉及到的代码:
framework/base/media/
AudioManager.java
AudioService.java
framework/base/package/SystemUI/
VolumeDialogController.java ——- 界面逻辑处理
VolumeDialog.java ——— UI显示
volume_dialog.xml ——— UI布局文件
什么是AudioManger
AudioManger和AudioService的关系:
AudioManager 封装了AudioService的服务,并通过getservice()方法获取AudioService的 Service 实例,涉及到普遍使用的aidl.
调用的通用方式:
import android.media.AudioManager;
private AudioManager mAudioManager;
mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
各种public方法随你用,当然也包括系统音量的各种接口。
关于系统音量界面的调用将走到SystemUI中,涉及的关键文件如下,看命名就能