此应用程序需要设备(及其显示)在onPreExecute()和onPostExecute()之间保持清醒。
答案 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)
这绝对是可能的 - 这是一个应用程序的例子:
答案 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回调)。