有没有办法强制Android设备保持清醒?

时间:2010-09-07 16:13:04

标签: android

此应用程序需要设备(及其显示)在onPreExecute()和onPostExecute()之间保持清醒。

3 个答案:

答案 0 :(得分:7)

this post中使用“完整”PowerManager.WakeLock

例如:

    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"/>

确保完成后将其释放。

答案 1 :(得分:2)

这绝对是可能的 - 这是一个应用程序的例子:

http://www.appsbeyond.com/apps/screen-suite

答案 2 :(得分:1)

&#34;全&#34; PowerManager.WakeLock现已弃用,将失去支持。

为了将来的兼容性,请使用以下命令强制应用保持清醒状态:

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

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

无需特殊权限。

您需要在托管活动中执行此操作。您可以尝试嵌套AsyncTask,或使用主机Activity实现的回调接口(想想Fragment回调)。

Developer Reference