目标:打开到此应用界面,永不自动进入待机状态(其实想在待机状态下也能通迅,但是没弄出来)
使用类:android.os.PowerManager;
一、定义加载及释放锁的方法
WakeLock wakeLock; /** * 加载wakeLock */ private void acquireWakeLock() { if (wakeLock == null) { PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, this.getClass().getCanonicalName()); wakeLock.acquire(); } } /** * 释放wakeLock */ private void releaseWakeLock() { if (wakeLock != null && wakeLock.isHeld()) { wakeLock.release(); wakeLock = null; } }
二、锁必须成对出现,所以我们可以利用activity的生命周期来调用,如下:
@Override protected void onResume() { super.onResume(); acquireWakeLock(); } @Override protected void onPause() { super.onPause(); releaseWakeLock(); }
三、完成之后,启动应用,发现打开控制的界面,其会由亮变灰,但不会进入待机状态。
(此种状态虽满足了部分功能,但较耗电)
有比较好的能在待机状态下也能通迅的文章,欢迎分享!