美文网首页
Device 相关信息

Device 相关信息

作者: 金樽明月 | 来源:发表于2018-04-19 11:19 被阅读0次

    屏幕亮度

    参考连接

    分为当前界面亮度和系统亮度两种类型.
    亮度模式有自动调节和手动调节两种模式
    亮度的范围 0~256
    

    注意权限:android.permission.WRITE_SETTINGS
    BUG: 当时应该是还遇到了一个问题,在视频播放页面设置了亮度后,整个手机的亮度都改变了。可惜,时间太久,忘记了发生原因和解决方法了。

    获取当前屏幕亮度

        long screenBrightness = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);
    

    获取当前屏幕模式

        long screenMode = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE);
    

    设置当前界面亮度

        private void setLight(Activity context, int brightness) {
            WindowManager.LayoutParams lp = context.getWindow().getAttributes();
            lp.screenBrightness = Float.valueOf(brightness) * (1f / 255f);
            context.getWindow().setAttributes(lp);
        }
    

    设置系统亮度

        public void saveBrightness(Activity activity, int brightness) {
            Uri uri = Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS);
            Settings.System.putInt(contentResolver, Settings.System.SCREEN_BRIGHTNESS, brightness);
            activity.getContentResolver().notifyChange(uri, null);
        }
    

    媒体音量

    这个比较简单,就记录几点遇到的问题。

    1. 每个机型的最大音量值 getStreamMaxVolume 是不同的。如果有滑动调节音量的需求,要注意。
    2. 调整音量有两种方式:
      adjustStreamVolume :这种方式调整的程度是不可控,但是调用方便
      setStreamVolume:这种方式可以设置数值进行精确控制,注意设置的值要根据getStreamMaxVolume获取的最大值确定。另外,音量值都是 int
    3. 调整屏幕亮度和设备音量的时候,都有 Flag 可以设置。可以控制 UI 的显示与否,调整时是否提示音量等等。

    相关文章

      网友评论

          本文标题:Device 相关信息

          本文链接:https://www.haomeiwen.com/subject/uxaikftx.html