Android最耗電首當觸摸屏.為節約電能很多人都將亮度降低.但又耗神.折中之法是系統自動變暗進入睡眠狀態.觸屏後自動變明亮.如果想屏膜保持喚醒狀態可是WakeLock.但觸屏遊戲是不需WakeLock『喚醒鎖』.它只適用於通過『加速計』控制之遊戲.
首先在AndroidManifest.xml添加權限
<uses-permission android:name=”android.permission.WAKE_LOCK” />
獲取電源管理器
PowerManager power_manager = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
生成喚醒鎖. levelAndFlagsw為控制標記.tag為鎖名
PowerManager.newWakeLock(int levelAndFlags, String tag)
levelAndFlags: | 屏幕燈 | 鍵盤燈 |
PARTIAL_WAKE_LOCK | 關閉 | 關閉 |
SCREEN_DIM_WAKE_LOCK | 低亮度 | 關閉 |
SCREEN_BRIGHT_WAKE_LOCK | 高亮度 | 關閉 |
FULL_WAKE_LOCK | 高亮度 | 開啟 |
ON_AFTER_RELEASE | 延時關燈 | 關閉 |
ACQUIRE_CAUSES_WAKEUP | 強制開啟 | 強制開啟 |
一般使用PARTIAL_WAKE_LOCK生成喚醒鎖
WakeLock wake_lock = power_manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,”LOCK”);
啟用喚醒鎖.在Activity.onResume()中調用
wake_lock.acquire();
釋放喚醒鎖.在Activity.onPause()中調用
wake_lock.release();