Android 如何跨多个活动安全地实施WakeLock
我希望为我的应用程序的用户提供使用Android 如何跨多个活动安全地实施WakeLock,android,android-wake-lock,Android,Android Wake Lock,我希望为我的应用程序的用户提供使用唤醒锁保持屏幕打开的能力。在我的主要活动中,我创建了以下功能: protected void processWakeLock(int pauseResume) { switch (pauseResume) { case STATE_RESUME: if (mKeepScreenOn) { wakeLock.acquire(); } break; case STATE_PAUSE:
唤醒锁
保持屏幕打开的能力。在我的主要活动中,我创建了以下功能:
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个全屏视图。什么是确保他们的唤醒锁
在我的应用程序的所有部分都能正常运行的最佳方法,同时确保他们手机的其他部分仍然安全
我的第一个想法是在我的每个活动中复制相同的代码片段,尽管这看起来像是一个很大的麻烦。我不能使用onStart
和onStop
,因为当我切换到另一个全屏活动时,可见性会丢失。虽然也许最好是
根据这里的图表和信息(),我看不到更好的应用锁的方法。不要使用
WakeLock
——这更多是为了服务,需要您持有额外的权限
相反,在活动中的某些视图上使用
setKeepScreenOn()
。根据共享参考
或意图
额外调用onCreate()
,具体取决于您收集首选项的方式。不要使用唤醒锁
——这更多是为了服务,需要您持有额外的权限
相反,在活动中的某些视图上使用
setKeepScreenOn()
。根据共享参考
或意图
额外调用onCreate()
,具体取决于您收集偏好的方式。那么什么时候适合在服务
中使用唤醒锁
@Thomas:。鉴于视图上存在setKeepScreenOn()
,在活动中这样做毫无意义。不幸的是setKeepScreenOn()
与屏幕_DIM_WAKE _LOCK
没有相同的行为,因此在服务
中何时使用WakeLock
@Thomas:。考虑到视图上存在setKeepScreenOn()
,在活动中这样做毫无意义。不幸的是setKeepScreenOn()
没有与屏幕调暗唤醒锁定相同的行为