Android编程调节屏幕亮度(背景灯)及保持背景灯常亮的方法

 更新时间:2016年01月21日 08:56:48   作者:zqiang_55  
这篇文章主要介绍了Android编程调节屏幕亮度(背景灯)及保持背景灯常亮的方法,涉及Android屏幕相关属性涉及技巧,需要的朋友可以参考下

本文实例讲述了Android编程调节屏幕亮度(背景灯)及保持背景灯常亮的方法。分享给大家供大家参考,具体如下:

Android写的应用程序其实可以调节屏幕亮度的,查了一下资料发现WindowManager.LayoutParams这个类就包含了调节亮度的参数:

WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 0.1f;

其中参数screenBrightness就是设置屏幕亮度的0.0f屏幕最暗,1.0f屏幕最亮

在此基础上我又加了一个SeekBar来调节屏幕亮度,

代码参考如下:

此外在回调函数中必须有如下这句话 getWindow().setAttributes(lp); 否则不起作用。我在开始的时候在onCreate()函数中直接设的值,没有这个函数,就能直接调节,但是在回调函数中不加上就不起作用

public class BLightActivity extends Activity {
/** Called when the activity is first created. */
int Max_Brightness = 100;
SeekBar bSeekBar = null;
float fBrightness = 0.0f;
WindowManager.LayoutParams lp = null;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    bSeekBar = (SeekBar) findViewById(R.id.bLightBar);
    bSeekBar.setOnSeekBarChangeListener(seekListener);
    bSeekBar.setMax(Max_Brightness);
    lp = getWindow().getAttributes();
//    lp.screenBrightness = 0.1f;
  }
OnSeekBarChangeListener seekListener = new OnSeekBarChangeListener() {
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
fBrightness = (float)progress / (float)Max_Brightness;
lp.screenBrightness = fBrightness;
// 这句得加上,否则屏幕亮度不启作用
getWindow().setAttributes(lp);
System.out.println("FY_" + fBrightness);
}
};
}

下面是介绍保持背景灯常量的方法:

首先是要获得权限 :

复制代码 代码如下:
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>

下面是控制代码实例

public class test extends Activity{
  PowerManager powerManager = null;
  WakeLock wakeLock = null;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     this.setContentView(R.layout.main);
     this.powerManager = (PowerManager)this.getSystemService(Context.POWER_SERVICE);
     this.wakeLock = this.powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Lock");
     this.wakeLock.acquire();
   }
  @Override
  protected void onResume() {
     super.onResume();
     // 重新获取
     this.wakeLock.acquire();
   }
   @Override
   protected void onPause() {
     super.onPause();
     // 在Activity销毁的时候释放wakeLock
     this.wakeLock.release();
   }
 }

更多关于Android开发相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程

希望本文所述对大家Android程序设计有所帮助。

相关文章

  • Android如何解决虚拟按键栏遮挡问题

    Android如何解决虚拟按键栏遮挡问题

    这篇文章主要介绍了Android如何解决虚拟按键栏遮挡问题,帮助大家更好的理解和学习使用Android开发,感兴趣的朋友可以了解下
    2021-03-03
  • 分析Android中应用的启动流程

    分析Android中应用的启动流程

    不知道大家有没有好奇过点击Launcher图标时,到唤起一个应用页面,这个流程会是怎么样的?那这篇文章的目的就是尽可能梳理清楚流程,能够让大家对整个流程有一个相对清晰的认知。下面跟着小编一起学习学习。
    2016-08-08
  • Android定时器实现的几种方式整理及removeCallbacks失效问题解决

    Android定时器实现的几种方式整理及removeCallbacks失效问题解决

    本文为大家详细介绍下Android 定时器实现的几种方式:Handler + Runnable、Timer的方式、Handle与线程的sleep(long )方法和removeCallbacks失效问题如何解决
    2013-06-06
  • Android实现动态切换组件背景的方法

    Android实现动态切换组件背景的方法

    这篇文章主要介绍了Android实现动态切换组件背景的方法,需要的朋友可以参考下
    2014-07-07
  • 如何通过Battery Historian分析Android APP耗电情况

    如何通过Battery Historian分析Android APP耗电情况

    Android 从两个层面统计电量的消耗,分别为软件排行榜及硬件排行榜。它们各有自己的耗电榜单,软件排行榜为机器中每个 App 的耗电榜单,硬件排行榜则为各个硬件的耗电榜单。这两个排行榜的统计是互为独立,互不干扰的
    2021-06-06
  • Android开发之经典游戏贪吃蛇

    Android开发之经典游戏贪吃蛇

    贪吃蛇是一款足够经典的游戏。它的经典,在于用户操作的简单,在于技术实现的简介,在于他的经久不衰。下面来看下如何在Android开发这款经典游戏。
    2016-07-07
  • Kotlin协程Channel特点及使用细节详解

    Kotlin协程Channel特点及使用细节详解

    这篇文章主要为大家介绍了Kotlin协程Channel特点及使用细节详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Android基于广播事件机制实现简单定时提醒功能代码

    Android基于广播事件机制实现简单定时提醒功能代码

    这篇文章主要介绍了Android基于广播事件机制实现简单定时提醒功能代码,较为详细的分析了Android广播事件机制及提醒功能的相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • Android SQLite操作之大数据处理与同时读写方法

    Android SQLite操作之大数据处理与同时读写方法

    这篇文章主要介绍了Android SQLite操作之大数据处理与同时读写方法,实例分析了Android操作SQLite时基于事务的数据缓存与批量插入技巧,以及同时读写的相关实现方法与注意事项,需要的朋友可以参考下
    2016-07-07
  • Android应用中使用Fragment组件的一些问题及解决方案总结

    Android应用中使用Fragment组件的一些问题及解决方案总结

    这里我们讲的Fragment主要探讨的是support库中的Fragment,包括Fragment常遇到的crash崩溃问题,嵌套Fragment收不到onActivityResult()回调以及一些常用tips等,需要的朋友可以参考下
    2016-05-05

最新评论