0

我希望为我的应用程序的用户提供使用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;
   }
}

我目前正在从我的onPauseonResume覆盖中调用它,因为我希望确保当他们没有积极使用我的应用程序时我不会导致用户手机锁定。我的应用程序有 3 个其他全屏视图。什么是最好的方法来确保他们WakeLock延续到我的应用程序的所有部分,同时仍然对他们手机的其余部分安全。

我的第一个想法是在我的每个活动中复制相同的代码片段,尽管这看起来像是很多样板。我也无法使用onStartonStop因为当我切换到另一个全屏活动时会失去可见性。虽然也许它会更好

根据此处找到的图表和信息(http://developer.android.com/guide/topics/fundamentals.html),我没有看到更好的方法来应用锁。

4

1 回答 1

5

不要使用WakeLock-- 这更多用于服务,并且需要您持有额外的权限。

相反,在你的活动中使用setKeepScreenOn()一些。根据您收集偏好的方式,根据一个或多个View调用它。onCreate()SharedPreferenceIntent

于 2010-11-21T21:52:52.860 回答