2013-06-18 7 views
0

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

@Override 
protected void onResume() 
{ 

    Log.e("inside","main onre"); 

    //for avoiding screen locking 
    Window wind; 
    // TODO Auto-generated method stub 
    super.onResume(); 
    wind = this.getWindow(); 
    wind.addFlags(android.view.WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
    wind.addFlags(android.view.WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 
    wind.addFlags(android.view.WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 
} 

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

Дайте мне знать, спасибо!

+0

сделать то же самое, прежде чем это setcontentview() –

ответ

0

Попробуйте OnCreate

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, 
      WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
+0

его работает нормально для версии больше чем 2.3.5, но не для версий ниже 2.3.5 .. поэтому я я использую следующий код для версии ниже 2.3.5, KeyguardManager km = (KeyguardManager) getSystemService (Context.KEYGUARD_SERVICE); \t \t KeyguardLock keyguard = km.newKeyguardLock ("MyApp"); \t \t keyguard.disableKeyguard(); – Dave

+0

, но вышеуказанный код устарел. – Dave

Смежные вопросы