2014-05-17 8 views
2

Я хочу отключить блокировку экрана. показать экран и после отклонения его, я хочу снова заблокировать экран, для этого я использую этот код.Android Как отключить блокировку рисунка

после OnCreate()

PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE); 
    wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "INFO"); 


    KeyguardManager km = (KeyguardManager) this.getSystemService(Context.KEYGUARD_SERVICE); 
    kl = km .newKeyguardLock("MyKeyguardLock"); 
    kl.disableKeyguard(); 

и отклоняя экран Я использую, kl.reenableKeyguard(), чтобы снова заблокировать экран.

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

Редактировать: Я нашел этот код работает в связующей, но не на галактику

ответ

3

Вы можете создать действие для запуска при необходимости с:

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     this.getWindow().setFlags(
       WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 
         | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 
         | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON, 
       WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 
         | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 
         | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 
    } 

Wakelocks являются устаревшими и только окно флаги должны теперь использоваться.

Редактировать: Он работает только с обычной/прозрачной темой, он не работает с диалоговой темой.

+0

ничего не делает – Haris

+1

Вы используете эмулятор? Какую версию Android вы используете? Он работает без проблем для меня. Кроме того: он работает только для активности с обычной темой, т. Е. Не может быть применена тема диалога. – greywolf82

+0

О, я тестирую его на галактике express и nexus, мой код работает хорошо на nexus, но не на галактике, но я использую его на тему диалога: ((, позвольте мне попробовать с обычной темой – Haris