Android 系统音量和系统亮度静态方法

项目场景:

作为毕业生第一次参加项目,做的是设置模块的部分功能,这里把本次项目的系统音量和系统亮度的调节的代码做一下保存,方便以后查看


解决方案:

最早写的亮度的工具类SystemBrightnessManager

package com.sprocomm.tablelamp.ui.setting.util;

import android.Manifest;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.provider.Settings;
import android.view.WindowManager;

import androidx.core.app.ActivityCompat;

import static android.webkit.WebViewZygote.getPackageName;
import static com.blankj.utilcode.util.ActivityUtils.startActivity;

/**
 * created by XuMaoxin
 * 2021.07.31
 */
public class SystemBrightnessManager {
   
    /**
     * Determine whether automatic brightness adjustment is turned on
     * @param context
     * @return
     */
    public static boolean isAutoBrightness(Context context) {
   
        boolean autoBrightness = false;
        ContentResolver contentResolver = context.getContentResolver();
        try {
   
            autoBrightness = Settings.System.getInt(contentResolver,
                    Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
        } catch (Settings.SettingNotFoundException e) {
   
            e.printStackTrace();
        }
        return autoBrightness;
    }

    /**
     * To get system brightness now
     * @param context
     * @return
     */
    public static int getBrightness(Context context) {
   
        int brightValue = 0;
        ContentResolver contentResolver = context.getContentResolver();
        try {
   
            brightValue = Settings.System.getInt(contentResolver,
                    Settings.System.SCREEN_BRIGHTNESS);
        } catch (Settings.SettingNotFoundException e){
   
            e.printStackTrace();
        }
        return brightValue;
    }

    /**
     * To set window&system brightness
     * @param context
     * @param brightValue
     */
    public static void setBrightness(Context context, int brightValue) {
   
        WindowManager.LayoutParams layoutParams = ((Activity)context).getWindow().getAttributes();
        layoutParams.screenBrightness = (brightValue <= 0? -1.0f : brightValue / 255f);
        ((Activity)context).getWindow().setAttributes(layoutParams);
        saveBrightness(context, brightValue);
    }

    /**
     * To start auto_brightness mode
     * @param context
     */
    public static void startAutoBrightness(Context context) {
   
        Settings.System.putInt(context.getContentResolver(),
                Settings.System.SCREEN_BRIGHTNESS_MODE,
                Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
        Uri uri = android.provider.Settings.System.getUriFor("screen_brightness");
        context.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值