Как снять блокировку? - PullRequest
4 голосов
/ 26 января 2011

Я устанавливаю функцию пробуждения с помощью wl.acquire().Это отлично работает.Мне нужна эта пробужденная блокировка, пока мое приложение живет, поэтому вызов release() может быть сделан только тогда, когда приложение оставлено.

Нужно ли где-нибудь вызывать release()?Например в onStop()?Я бы сказал нет, но я не уверен.

Ответы [ 3 ]

4 голосов
/ 26 января 2011

Помимо других полезных ответов, которые вы уже получили, я только что нашел этот интересный ответ о том, как включить экран на , возможно, вы найдете его также полезным, если вам действительно не нужна блокировка от пробуждения..

4 голосов
/ 26 января 2011

если вы ссылаетесь на эти 2 страницы:

http://developer.android.com/reference/android/os/PowerManager.html

http://developer.android.com/reference/android/os/PowerManager.WakeLock.html#release()

Вы должны снять блокировку wake, как только сможете, поэтому, если ваше приложение закрывается / приостанавливается, отпустите его!

Кроме того, совет, убедитесь, что вам нужен замок для пробуждения, когда он вам нужен и на какое-то время.

в моем случае я поставил один только для экрана в игре, чтобы экран пользователя не размышлял при размышлениях (поскольку это приложение opengl, для полной загрузки требуется несколько секунд), но в других представлениях я его отпускаю.

Поверьте мне, когда я говорю, что пользователю досадно заканчивать с пустой батареей, потому что приложение заставляло себя бодрствовать.

0 голосов
/ 26 января 2011

до тех пор, пока мое приложение живет, сколько действий в вашем приложении?вы можете освободить его в onDestroy () последнего действия, которое вызывается Activitymanager.

И да, вы должны снять блокировку, особенно если вы хотите сохранить яркость экрана, чтобы избежать разрядки аккумулятора.

...