Утечка ресурсов при использовании KeyGuardManager - PullRequest
2 голосов
/ 05 апреля 2011

Я пытаюсь использовать KeyGuardManager и KeyguardLock для разблокировки телефона, но он работает только первые несколько раз, и когда я убиваю свое приложение, я получаю:

WindowManagerService.mKeyguardTokenWatcher: cleaning up leaked reference

Эта проблема, вероятно, связана с проблемой с KeyGuardManager , но я не могу найти упомянутую exitKeyguardSafely () в справке по API KeyguardManager Android . Вместо exitKeyguardSafely () я попытался использовать exitKeyguardSecurely () безрезультатно.

Пожалуйста, помогите!

private final String LOG_TAG = getClass().getSimpleName();

private void unlock() {
   KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);
   KeyguardLock lock = keyguardManager.newKeyguardLock(LOG_TAG);  
   lock.disableKeyguard();
   keyguardManager.exitKeyguardSecurely(null);
}

1 Ответ

2 голосов
/ 09 апреля 2011

Кажется, что KeygardLock - это семафор.Обязательно вызывайте reenableKeyguard () столько раз, сколько disableKeyguard () , и предупреждение об утечке ресурса отсутствует.

...