标签:
我们程序偶尔会有需要屏幕一直或较长时间的保持唤醒状态,而用户的睡眠时间又设置的比较短。这时可能会对程序以及用户的使用造成一定的影响。在Android中有两种方法,可以让我们在我们需要保持唤醒的页面长时间保持唤醒状态
1.Android的电源管理里面提供了“唤醒锁”,它允许我们的设备屏幕能在一定的时间内或一直保持唤醒状态!如下为其简单使用步骤:
申请唤醒锁使用权限
1 <uses-permission android:name="android.permission.WAKE_LOCK"/>
获取电源管理对象
1 PowerManager powerManager = (PowerManager)this.getSystemService(this.POWER_SERVICE);
获取唤醒锁对象
1 WakeLock wakeLock = this.powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Lock");
请求唤醒锁
1 protected void onResume() { 2 super.onResume(); 3 //一直处于唤醒状态, 除非使用release释放唤醒锁 4 wakeLock.acquire(); 5 //唤醒给定时间 6 wakeLock.acquire(long timeout); 7 }
释放唤醒锁
1 protected void onPause() { 2 super.onPause(); 3 wakeLock.release(); 4 }
如果使用了acquire的方式,除非是用户将程序退出,或是手动按电源键关闭屏幕,否则屏幕将处一直处于唤醒状态。
2.使用窗口管理器提供的屏幕保持唤醒的方式
1 protected void onCreate(Bundle icicle) { 2 super.onCreate(icicle); 3 // 设置标志以使此Activity处于唤醒状态 4 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 5 setContentView(); 6 }
此种方式的好处是不用担心释放的问题,页面退出了,就自动解除了唤醒状态,进入到正常的模式中
标签:
原文地址:http://www.cnblogs.com/pillowzhou/p/4684533.html