2010-09-07 85 views

回答

7

使用「滿」 PowerManager.WakeLockthis post

如:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
    PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Tag"); 
    wl.acquire(); 

添加權限清單文件

<uses-permission android:name="android.permission.WAKE_LOCK"/> 

確保完成時將其釋放。

+2

謝謝 - 非常棒!還需要添加android.permission.WAKE_LOCK來清單。 – jacknad 2010-09-07 18:41:06

1

「完整」PowerManager.WakeLock現在已被棄用,將失去支持。

對於未來的兼容性,使用以下方法來強制應用程序保持清醒:

// keep awake  
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

// allow suspend 
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

任何特殊權限是必需的。

您將需要在託管活動中執行此操作。你可以嘗試嵌套AsyncTask,或使用由主機Activity實現的回調接口(請考慮片段回調)。

Developer Reference