zoukankan      html  css  js  c++  java
  • Android电源管理

    Android电源管理

    一、 相关概念

    1.          出于节电的需要,一般应用在用户一段时间无操作的情况下屏幕变暗,然后进后休眠状态

    2.          用户只能在设置->声音和显示中设置所有应用默认的屏幕亮度和进行待机的时间

    3.          电源管理的实现分内核应用两部分,通过下面介绍的接口,我们可以设置应用程序的电源管理,以控制与其休眠相关的状态(是否需要进入休眠,调整cpu频率,键盘灯的开关,屏幕的亮暗等)

    二、 设置电源管理常用的几种状态
    PARTIAL_WAKE_LOCK                      
    屏幕关,键盘灯关,不休眠
    SCREEN_MID_WAKE_LOCK             
    屏幕灰,键盘灯关,不休眠
    SCREEN_BRIGHT_WEEK_LOCK       
    屏幕亮,键盘灯关,不休眠
    FULL_WAKE_LOCK                             
    屏幕亮,键盘灯亮,不休眠

    三、 使用电源管理注意事项

    1.          可在onCreate时设置该界面的电源管理,在onDestroy时取消设置

    2.          可在onResume时设置该界面的电源管理,在onPause时取消设置

    3.          注意设置是以Activity为单位,不是以应用为单位

    4.          注意在AndroidManifest.xml中声明该应用有设置电源管理的权限

    5.          注意加锁解锁要成对出现

    6.          注意多个用途最好用多个锁,不要一锁多用,以免出错

    7.          注意对运行在后台和异常时对锁的处理

    8.          注意在网络连接或传输时最好加锁,以免传输被中断

    9.          注意加锁以保证程序逻辑

    四、 代码举例

    1.          源码修改

    1)         引入电源管理包,以使用相关类
    import android.os.PowerManager;

    2)         类中加入变量
    PowerManager.WakeLock mWakeLock;

    3)         修改onCreate
    public
     void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             PowerManager pm =
                                (PowerManager) getSystemService(Context.POWER_SERVICE); 
             mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK
                                "XYTEST"); 
             mWakeLock.acquire(); 
    }

    4)         修改onDestroy
    public
     void onDestroy()
    {
             super.onDestroy();
             mWakeLock.release(); 
    }

    2.          AndroidManifest.xml文件修改
    <uses-permission android:name="android.permission.WAKE_LOCK"/>

    本文来自: http://xy0811.spaces.live.com/Blog/cns!F8AECD2A067A6B17!1378.entry

  • 相关阅读:
    Navicat 导出sql问题
    2017,我的第一次年终总结
    dev treelist和searchcontrol组合模糊查询用法
    构造函数详解
    Devexpress常见问题
    Devexpress 常用的功能
    dev Gridcontrol控件属性部分
    记录DEV gridview获取行列数据方法
    string类的几种方法
    plsql中的procedure和function编程
  • 原文地址:https://www.cnblogs.com/simonshi/p/2117335.html
Copyright © 2011-2022 走看看