Утечка ресурсов при использовании KeyGuardManager

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

WindowManagerService.mKeyguardTokenWatcher: cleaning up leaked reference

Эта проблема, вероятно, связана с проблемой проблемой с KeyGuardManager, но я не могу найти упомянутый exitKeyguardSafely () в справочнике по Android KeyguardManager API. Вместо 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);
}

person mach    schedule 05.04.2011    source источник


Ответы (1)


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

person mach    schedule 09.04.2011