Android开发教程之电源管理详解

 更新时间:2016年06月28日 16:16:45   作者:zeo  
这篇文章主要介绍了Android开发教程之电源管理,较为详细的分析了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"/>

PS:更多关于AndroidManifest.xml配置项及其功能可参考本站在线工具:

Android Manifest功能与权限描述大全:
http://tools.jb51.net/table/AndroidManifest

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android数据库操作技巧总结》、《Android编程之activity操作技巧总结》、《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》、《Android视图View技巧总结》及《Android控件用法总结

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

相关文章

  • Android  Notification使用方法详解

    Android Notification使用方法详解

    这篇文章主要介绍了Android Notification使用详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • Android编程实现AIDL(跨进程通信)的方法详解

    Android编程实现AIDL(跨进程通信)的方法详解

    这篇文章主要介绍了Android编程实现AIDL(跨进程通信)的方法,结合实例形式详细分析了Android实现AIDL(跨进程通信)的原理、具体流程与相关实现技巧,需要的朋友可以参考下
    2016-06-06
  • Android自定义实现一个车牌字母选择键盘

    Android自定义实现一个车牌字母选择键盘

    这篇文章主要为大家详细介绍了Android如何自定义实现一个车牌字母选择键盘,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • Android中buildToolVersion与CompileSdkVersion的区别

    Android中buildToolVersion与CompileSdkVersion的区别

    今天小编就为大家分享一篇关于Android中buildToolVersion与CompileSdkVersion的区别,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Android Studio 3.1.X中导入项目的正确方法分享

    Android Studio 3.1.X中导入项目的正确方法分享

    这篇文章主要给大家介绍了关于Android Studio 3.1.X中导入项目的正确方法,文中一步步将解决的方法以及可能遇到的问题介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • Kotlin try catch异常处理i详解

    Kotlin try catch异常处理i详解

    在 Kotlin 协程当中,我们通常把异常分为两大类,一类是取消异常(CancellationException),另一类是其他异常。在 Kotlin 协程当中,这两种异常的处理方式是不一样的
    2022-11-11
  • Android使用第三方服务器Bmob实现发送短信验证码

    Android使用第三方服务器Bmob实现发送短信验证码

    这篇文章主要介绍了Android使用第三方服务器Bmob实现发送短信验证码的思路详解,需要的朋友可以参考下
    2016-09-09
  • Android IPC机制Messenger实例详解

    Android IPC机制Messenger实例详解

    这篇文章主要介绍了 Android IPC机制Messenger实例详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • Android编写简单的聊天室应用

    Android编写简单的聊天室应用

    这篇文章主要为大家详细介绍了Android实现简单聊天室的相关资料,具有发送表情,更改头像等功能
    2016-06-06
  • Flutter实现底部菜单导航

    Flutter实现底部菜单导航

    这篇文章主要为大家详细介绍了Flutter实现底部菜单导航,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02

最新评论