Android进阶:保持android手机屏幕灯持续高亮 以及键盘灯高亮
2013-07-10 17:19
381 查看
最近研究音频播放 看到 AsyncPlayer 这个类的实现 确实里面做的细节挺值得学习
那首先大概看下这个类吧 这个类实现了音频异步播放的功能
把音频信息封装称Conmmad
[java] view
plaincopy
private static final class Command {
int code;
Context context;
Uri uri;
boolean looping;
int stream;
long requestTime;
public String toString() {
return "{ code=" + code + " looping=" + looping + " stream=" + stream
+ " uri=" + uri + " }";
}
}
将所有的音频信息存放入队列中
[c-sharp] view
plaincopy
private LinkedList<Command> mCmdQueue = new LinkedList();
那么播放的功能就交给另外一个线程吧
接着进入主题看看怎么实现屏幕高亮的
PowerManager:This class gives you control of the power state of the device.
PowerManager.WakeLock: lets you say that you need to have the device on.
android通过lock锁对电源进行控制 来看两个方法
[java] view
plaincopy
private void acquireWakeLock() {
if (mWakeLock != null) {
mWakeLock.acquire();
}
}
private void releaseWakeLock() {
if (mWakeLock != null) {
mWakeLock.release();
}
}
这样就可以实现对电源的控制了。。so简单
这之前还需要做一些初始化工作
[c-sharp] view
plaincopy
PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, mTag);
newWakeLock 方法就俩参数,后面一个就是日志的TAG了。。前面一个才是主要的 可以设置本Activity的亮度级别
各种锁的类型对CPU 、屏幕、键盘的影响:
PARTIAL_WAKE_LOCK :保持CPU 运转,屏幕和键盘灯有可能是关闭的。
SCREEN_DIM_WAKE_LOCK :保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯
SCREEN_BRIGHT_WAKE_LOCK :保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯
FULL_WAKE_LOCK :保持CPU 运转,保持屏幕高亮显示,键盘灯也保持亮度
这个操作还要加权限的
[c-sharp] view
plaincopy
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DEVICE_POWER" />
这就OK了!!!!
转自:/article/2784808.html
那首先大概看下这个类吧 这个类实现了音频异步播放的功能
把音频信息封装称Conmmad
[java] view
plaincopy
private static final class Command {
int code;
Context context;
Uri uri;
boolean looping;
int stream;
long requestTime;
public String toString() {
return "{ code=" + code + " looping=" + looping + " stream=" + stream
+ " uri=" + uri + " }";
}
}
将所有的音频信息存放入队列中
[c-sharp] view
plaincopy
private LinkedList<Command> mCmdQueue = new LinkedList();
那么播放的功能就交给另外一个线程吧
接着进入主题看看怎么实现屏幕高亮的
PowerManager 和 PowerManager.WakeLock 这个类
PowerManager:This class gives you control of the power state of the device.PowerManager.WakeLock: lets you say that you need to have the device on.
android通过lock锁对电源进行控制 来看两个方法
[java] view
plaincopy
private void acquireWakeLock() {
if (mWakeLock != null) {
mWakeLock.acquire();
}
}
private void releaseWakeLock() {
if (mWakeLock != null) {
mWakeLock.release();
}
}
这样就可以实现对电源的控制了。。so简单
这之前还需要做一些初始化工作
[c-sharp] view
plaincopy
PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, mTag);
newWakeLock 方法就俩参数,后面一个就是日志的TAG了。。前面一个才是主要的 可以设置本Activity的亮度级别
int flags
各种锁的类型对CPU 、屏幕、键盘的影响:PARTIAL_WAKE_LOCK :保持CPU 运转,屏幕和键盘灯有可能是关闭的。
SCREEN_DIM_WAKE_LOCK :保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯
SCREEN_BRIGHT_WAKE_LOCK :保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯
FULL_WAKE_LOCK :保持CPU 运转,保持屏幕高亮显示,键盘灯也保持亮度
这个操作还要加权限的
[c-sharp] view
plaincopy
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DEVICE_POWER" />
这就OK了!!!!
转自:/article/2784808.html
相关文章推荐
- Android手机保持屏幕高亮方法
- android保持服务不休眠(持续运行)以及唤醒屏幕的方法
- Android手机保持屏幕高亮方法
- android保持服务不休眠(持续运行)以及唤醒屏幕的方法
- Android检测手机锁屏以及保持屏幕常亮
- Android进阶笔记17:Android手机屏幕坐标系
- 保持Android手机屏幕长亮
- android保持屏幕常亮以及唤醒屏幕的方式
- Android进阶-屏幕滑动和获取手机联系人
- 保持Android手机屏幕长亮的方法
- Android开发之程序运行时保持屏幕、CPU、键盘灯的状态
- android 模拟器键盘控制键 以及 设置模拟器屏幕大小
- 获得Android手机的屏幕宽、高以及dip或sp与pix的转换
- 保持Android手机屏幕长亮
- android webview 适配手机屏幕以及禁止双击事件
- android 模拟器键盘控制键不能用 以及 设置模拟器屏幕大小
- android细节保持手机屏幕常亮不锁屏
- 获取android 手机屏幕的大小以及动态设置背景图片的两种方法;
- 保持Android手机屏幕长亮
- 获取Android 手机屏幕宽度和高度以及获取Android手机序列号