声音设置
调整手机的各种音量可以通过AudioManager这个类来操作
注:安卓手机各种音量的最大数值不一样,请通过下面具体的方法获取最大音量值。
涉及的参数说明:
streamType类型:(音量类型)
STREAM_ALARM
提示音STREAM_MUSIC
音乐音量即多媒体音量STREAM_NOTIFICATION
窗口顶部状态栏Notification,STREAM_RING
铃声STREAM_SYSTEM
系统STREAM_VOICE_CALL
通话STREAM_DTMF
双音多频
不过三方的Rom中 这些类型可能是多对一的 也就是 多种类型调节的是同一种
flags参数:(下面是常用的几个)
- FLAG_PLAY_SOUND 调整音量时播放声音
- FLAG_SHOW_UI 调整时显示系统的音量进度条
- 0 表示什么都不做
工具类
1 | import android.content.Context; |
另外,还有个public void adjustStreamVolume(int streamType, int direction, int flags)
方法也可用来调整音量,
只不过不能设置具体数值,根据系统的阀值来自动调整,其中第1和第3个参数上面有说明,
下面是第2个参数的介绍:
direction是调整的方向,增加或减少:
- ADJUST_LOWER 降低音量
- ADJUST_RAISE 增加音量
- ADJUST_SAME 保持不变,这个主要用于向用户展示当前的音量
亮度设置
从Android6.0后 应用是不能修改系统屏幕亮度的 所以下面的工具类 一般也用不上
我们只能修改应用的亮度 方法如下
1 | private fun setWindowBrightness(brightness: Int) { |
但是我们并不能获取应用的亮度 因为 如果系统的亮度设置的是自动
那么lp.screenBrightness
或取的值就会是-1
所以我们要判断系统是否为自动调节亮度 如果是的话 就要获取系统亮度
1 | public int getScreenBrightness() { |
工具类
屏幕亮度有两种调节模式:
Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC:值为1,自动调节亮度。
Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL:值为0,手动模式。
1 | import android.content.ContentResolver; |