2013-09-08 27 views
7

Próbuję wyłączyć programowo program.W Androidzie, jak mogę programowo wyłączyć ekran?

Następujące metody próbowałem:

WindowManager.LayoutParams params = getWindow().getAttributes(); 
params.screenBrightness = 0; 
getWindow().setAttributes(params); 

dla wyżej wymienionych metoda nie działa.

To jednak działa:

DevicePolicyManager mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); 

mDPM.lockNow(); 

To działa, ale jestem odwracając ekran wyłączony, gdy telefon dzwoni, a to powoduje, że dzwonek przestanie dzwonić. To samo, co naciśnięcie przycisku zasilania.

Muszę mieć możliwość wyłączenia wyświetlacza BEZ za pomocą metody DevicePolicyManager. Lub sposób, aby ustawić, że metoda DevicePolicyManager nie powstrzyma dzwonienia mojego urządzenia.

Dzięki!

Odpowiedz

1

lepiej jest zmniejszyć czas oczekiwania na ekranie, aby wyłączyć ekran. tak:

Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 10); 

10 oznacza 10 ms można ustawić własny!

+0

To nie działa tak, jakby była aktywna blokada wybudzania, a nigdy nie upłynie limit czasu. Wspomniana wyżej metoda 'DevicePolicyManager' jest właściwym sposobem wyłączenia wyświetlacza, po prostu nie działa idealnie w mojej sytuacji. – Seth

+0

ale jego nie działa na wszystkie urządzenia. w mojej idei najlepszym sposobem jest [tutaj] (http://rdcworld-android.blogspot.in/2012/03/lock-phone-screen-programmtically.html) – M410

+0

Ten link, który wysłałeś jest dokładnie tym, co właśnie powiedziałem .. nie rozumiem, co próbujesz powiedzieć? Dopóki twoje urządzenie ma 2.2 (API 8) lub nowsze, możesz użyć 'DevicePolicyManager' i' mDPM.lockNow() ', aby wyłączyć twój ekran. – Seth

Powiązane problemy