我希望为我的应用程序的用户提供使用 WakeLock . 在我的主要活动中,我创建了以下功能:
WakeLock
protected void processWakeLock(int pauseResume) { switch (pauseResume) { case STATE_RESUME: if (mKeepScreenOn) { wakeLock.acquire(); } break; case STATE_PAUSE: if (wakeLock.isHeld()) { wakeLock.release(); } break; } }
我现在从我的 onPause 和 onResume 覆盖,因为我希望确保在用户不积极使用我的应用程序时不会锁定用户的电话。我的应用程序还有3个全屏视图。什么是确保他们 唤醒锁定 将我的应用程序的所有部分转移到他们手机的其余部分。
onPause
onResume
唤醒锁定
我的第一个想法是在我的每一个活动中复制相同的代码片段,尽管这看起来像是一堆废话。我不能用 onStart 和 onStop 或者是因为当我切换到另一个全屏活动时,可见性会丢失。不过,最好是
onStart
onStop
根据这里的图表和信息( http://developer.android.com/guide/topics/fundamentals.html )我看不出一个更好的方法来锁。
不要使用 WakeLock --这更多是为了服务,需要您持有额外的权限。
相反,使用 setKeepScreenOn() 在一些 View 在你的活动中。把那个叫进来 onCreate() 基于 SharedPreference 或 Intent 额外的,取决于您收集偏好的方式。
setKeepScreenOn()
View
onCreate()
SharedPreference
Intent