此應用需要設備(及其顯示器)在onPreExecute()和onPostExecute()之間保持清醒狀態。有沒有辦法強制android設備保持清醒?
2
A
回答
7
使用「滿」 PowerManager.WakeLock
像this 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
這是絕對有可能的 - 這裏是一個應用的例子這是否:
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實現的回調接口(請考慮片段回調)。
是的,這些設備似乎是narcoleptic。 – 2012-12-21 07:34:45