標籤:android des style code ext color
在Android中,申請WakeLock可以讓你的進程持續執行即使手機進入睡眠模式,比較實用的是比如後台有網路功能,可以保證操作持續進行.
方法: 在操作之前加入
PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, Constants.TAG);
wakeLock.acquire();
其中newWakeLock有兩個參數,第一個參數定義了行為,第二個參數是調試的那個Tag,可以定義為類名。第一個參數取值如下:
| Flag Value |
CPU |
Screen |
Keyboard |
PARTIAL_WAKE_LOCK |
On* |
Off |
Off |
SCREEN_DIM_WAKE_LOCK |
On |
Dim |
Off |
SCREEN_BRIGHT_WAKE_LOCK |
On |
Bright |
Off |
FULL_WAKE_LOCK |
On |
Bright |
Bright |
別忘了在操作完畢之後釋放掉
if (wakeLock != null) {
wakeLock.release();
wakeLock = null;
}
還有,要加許可權:<uses-permission android:name="android.permission.WAKE_LOCK"/>
----------------------------------------------------------------------------------------------------------------------------
另一種方法是
- @Override
- protected void onCreate(Bundle icicle) {
- super .onCreate(icicle);
-
- // 經測試這個還是比較好用的,多媒體播放設定不待機。
- getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
- }
這個參數也是保持螢幕一直活動不會進入休眠狀態,省電一些比上個安全。