【发布时间】:2010-08-25 10:57:15
【问题描述】:
我正在尝试在屏幕为黑色时运行 Android 应用程序,我使用了一项服务,并尝试添加“PARTIAL_WAKE_LOCK”类型的 WakeLock。
该服务播放歌曲并将数据从加速度计保存到数据库,但是当我按下红色电话按钮使屏幕变黑时,它会播放歌曲但不会将数据保存到数据库。有人知道为什么它不将数据保存到数据库吗?
Tnk 的
瓦莱里奥
【问题讨论】:
我正在尝试在屏幕为黑色时运行 Android 应用程序,我使用了一项服务,并尝试添加“PARTIAL_WAKE_LOCK”类型的 WakeLock。
该服务播放歌曲并将数据从加速度计保存到数据库,但是当我按下红色电话按钮使屏幕变黑时,它会播放歌曲但不会将数据保存到数据库。有人知道为什么它不将数据保存到数据库吗?
Tnk 的
瓦莱里奥
【问题讨论】:
这样可以确保即使手机处于待机模式,acquire() 和 release() 之间的代码也会执行,因为 cpu 将保持活动状态。
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
wl.acquire();
..CPU will stay on during this section..
wl.release();
【讨论】: