在有一次处理屏幕的时候,我通过设置值发现怎么都实现不了。

控制屏幕的两种方法:

第一:通过获取PowerManager对象,利用反射。打开/关闭屏幕,上代码:

/**
 * 关闭屏幕 ,其实是使系统休眠
 *
 * @param context 上下文
 */
public static void goToSleep(Context context) {
    PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
    try {
        if (powerManager != null) {
            powerManager.getClass().getMethod("goToSleep", long.class).invoke(powerManager, SystemClock.uptimeMillis());
        }
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    } catch (NoSuchMethodException e) {
        e.printStackTrace();
    }
}

/**
 * 唤醒屏幕
 *
 * @param context 上下文
 */
public static void wakeUp(Context context) {
    PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
    try {
        if (powerManager != null) {
            powerManager.getClass().getMethod("wakeUp", long.class).invoke(powerManager, SystemClock.uptimeMillis());
        }
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    } catch (NoSuchMethodException e) {
        e.printStackTrace();
    }
}

第二:通过设置数据库来设置屏幕亮度,需要权限如下:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
/**
 * 获取当前亮度
 *
 * @param context 上下文
 * @return 返回当前亮度值0-255
 */
public static int getScreenBrightness(Context context) {
    int nowBrightnessValue = 0;
    ContentResolver resolver = context.getContentResolver();
    try {
        nowBrightnessValue = android.provider.Settings.System.getInt(
                resolver, Settings.System.SCREEN_BRIGHTNESS);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return nowBrightnessValue;
}

/**
 * @param resolver   系统内容提供者 Context.getContentResolver()
 * @param brightness 亮度0-255之间
 */
public static void saveBrightness(ContentResolver resolver, int brightness) {
    Uri uri = android.provider.Settings.System
            .getUriFor("screen_brightness");
    android.provider.Settings.System.putInt(resolver, "screen_brightness",
            brightness);
    resolver.notifyChange(uri, null);
}

发现使用设置数据库,常常不产生效果。有时候值改变了,但是屏幕效果不能出来。故采用power解决了。

在处理这个问题的时候我还采用了aidl的方式,但是总有一些莫名的问题。最后没办法放弃了。

开启了 remote:

Android打开/关闭屏幕和设置系统屏幕亮度方法相关推荐

  1. android系统应用程序设置时间,Android应用程序设置系统时间的方法

    Android应用程序获取系统时间的方法: System.currentTimeMillis(); Android SDK虽然提供了设置系统时间的方法SystemClock.setCurrentTim ...

  2. android+系统屏幕亮度,android 设置系统屏幕亮度

    android 设置系统屏幕亮度 权限 /** * 获得当前屏幕亮度的模式 * SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1 为自动调节屏幕亮度 * SCREEN_BRIGHT ...

  3. android 系统亮度,android 设置系统屏幕亮度

    android 设置系统屏幕亮度 权限 /** * 获得当前屏幕亮度的模式 * SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1 为自动调节屏幕亮度 * SCREEN_BRIGHT ...

  4. Android : 反射机制获取或设置系统属性(SystemProperties)

    Android.os.SystemProperties 提供了获取和设置系统属性的方法,但是这个类被隐藏了,应用开发时无法直接访问,可以通过反射的机制进行操作. 获取系统属性 public stati ...

  5. windows屏幕分辨率及系统缩放获取方法大全

    本人微信公众号:CPP进阶之旅 如果觉得这篇文章对您有帮助,欢迎关注 "CPP进阶之旅" 学习更多技术干货 windows屏幕分辨率及系统缩放获取方法大全 方法一:MonitorF ...

  6. 如何查看计算机配置语言,电脑如何设置系统语言的方法

    有些用户想要把电脑语言设置为英文或者其他,具体要怎么设置呢?下面由学习啦小编为大家整理了电脑如何设置系统语言的相关方法,希望对大家有帮助! 电脑如何设置系统语言的方法步骤如下 首先,点击"开 ...

  7. Android打开/关闭数据流量

    这个是网上找的,经过自己整理.由于android并未公开这个类,因此如果要打开/关闭数据,需要通过反射 16/09/29注:5.0以上无效 MobileDataSwitcher.java import ...

  8. Android HttpURLConnection下载网络图片,设置系统壁纸

    需求: 壁纸是url链接,get就能请求到,所以就用get请求到图片,把图片转化为bitmap,然后设置壁纸. 代码: 这里我封装了工具类 package xxxxx.utils;import and ...

  9. android 颜色资源文件,android中colors.xml颜色设置资源文件的方法

    1. 打开res目录下的values文件夹,双击打开colors.xml文件进行编辑 上代码 #008577 #00574B #D81B60 #ff0000 #0000ff 2. 在res目录下的la ...

最新文章

  1. java 两个等长数组的中位数_查询两个数组的中位数
  2. 平安iq测试没通过的话影响入职吗_从外包测试到阿里巴巴,一位三本女生逆袭之路...
  3. 如何设置jinternalframe无边框_word文档美化技巧:加个边框提升版面颜值
  4. linux nfs系统客户端,Linux系统中挂载共享目录NFS文件系统客户端安装与配置
  5. minihomepage.exe 百度视频迷你主页
  6. 网路工程师要不要学mysql_网络工程师要学什么_网络工程师需要的技能
  7. 火星人(洛谷-P1088)
  8. wordpress个人博客小程序带流量主+教程
  9. jQuery: jscolor - color picker
  10. mac屏保时钟_OneClock 不息屏的极简时钟,不仅仅是翻页时钟那么简单!
  11. Centos7 卸载自带的OpenJDK
  12. VS2019如何打包程序
  13. JS简单总结(前端ES6和JQ)
  14. css改变透明背景png图片的图标颜色
  15. python登录微信pc版_腾讯TIM iOS版2.5.6重大更新:新增支持微信帐号登录、语音进度条...
  16. 注意力机制——Spatial Transformer Networks(STN)
  17. [转载]中国文明网:为青少年“防沉迷”汇聚合力
  18. 【ArcGIS教程】专题图制作之人口地图——湖北省人口密度分析
  19. 软件测试公司都会查学历吗,高新技术企业申请会查员工学历吗?申请高新技术企业注意事项解读...
  20. 如何用纯CSS将图片填满div,自适应容器大小

热门文章

  1. 每日科技分享-代码翻译神器
  2. HttpClient连接池
  3. c11 chrono详解
  4. (杂项笔记)关于电脑网卡冲突的问题
  5. mvc基于ASP NET大学生校园招聘网站的C#设计与开发
  6. 网 络 工 程 师 之 独 孤 九 剑
  7. 2020年中总结之 -- 怎么挤进一线大厂?非软文!
  8. 一张图掌握项目复盘的方法和步骤
  9. 大数据BAT经典面试题
  10. matlab fread精度,matlab中fread函数的应用