2013-04-19 30 views
7

Cześć, robię aplikację alarmową. Kiedy pojawia się godzina alarmu, wyświetlam użytkownikowi okno dialogowe. Ale problem polega na tym, że chcę uzyskać blokadę wybudzania, gdy pojawi się okno dialogowe. tak jak wtedy, gdy sms otrzyma ekran po prostu się budzi.Jak obudzić ekran w Androidzie

mam próbować ten jeden, ale nie działa

public class Alarm extends Activity{ 
    PowerManager pm; 
    WakeLock wl; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     pm = (PowerManager) getSystemService(POWER_SERVICE); 
     wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "FlashActivity"); 
wl.acquire() 
     showAlarmDialog(); 
    } 
    @Override 
    protected void onPause() { 
     // TODO Auto-generated method stub 
     super.onPause(); 
     wl.release(); 
    } 
} 

Dodałem też pozwolenie blokada wybudzenia. Pomoc będzie appriciated :-)

Odpowiedz

3

udało mi się włączyć ekran ten sposób:

wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "TAG"); 
wl.acquire(); 

nadzieję, że to pomaga. To działało dla mnie Choć :-) Pozdrawiam

3

można nabyć blokadę wake dwoma metodami

wl.acquire(); or wl.acquire(timeout) 

Spróbować coś takiego w onResume():

PowerManager pm; 
WakeLock wl; 

pm = (PowerManager) getSystemService(POWER_SERVICE); 
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "FlashActivity"); 
wl.acquire(); Or wl.acquire(timeout) 

A ty realeasing w OnPause (). To jest dobre.

+1

Dzięki! Mogłem to zrobić W ten sposób 'wl = pm.newWakeLock (PowerManager.SCREEN_BRIGHT_WAKE_LOCK \t \t \t \t | PowerManager.ACQUIRE_CAUSES_WAKEUP," TAG "); wl.acquire(); ':-) –

+0

Więc możesz zaakceptować odpowiedź. To może pomóc także innym :) – Abhi

+0

Twoje ans jest aprobowane, ale to nie działało dla mnie. nabyłem blokada wybudzania w mojej metodzie 'showAlarmDialog()'. Poniższy kod, który napisałem, działa dobrze. –

1

Możesz dodać kilka flag do swojej aktywności, aby odblokować i wybudzić ekran po rozpoczęciu aktywności.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.my_activity); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 
} 
Powiązane problemy