2012-12-13 19 views
10

Chcę zaimplementować niektóre linie kodu, które umożliwiają włączanie/wyłączanie ekranu Android, jak szybkie włączanie/wyłączanie urządzenia za pomocą przycisku zasilania. Czy istnieje jakiś sposób, aby to zrobić?Włączanie/wyłączanie urządzenia z Androidem

+0

Czy chcesz zablokować urządzenie, czy wyłączyć? – cjds

+0

Dokładnie to, czego chcę, to przywołanie ekranu LockScreen. Po wyłączeniu ekranu -> włącz -> wyświetli się ekran LockScreen. Czy masz jakieś propozycje? – Nguyen

+0

Jeśli otrzymujesz błąd runtime, napisałem rozwiązanie – cjds

Odpowiedz

2

Wygląda na to, że chcesz zablokować urządzenie, a nie wyłączyć. Aby zablokować urządzenie, jest to prosty kod. Wspomniano here

Wykorzystuje Policy Manager urządzenie lockNow() metoda

W przypadku RuntimeError stosowanie metody opisanej w tym pytaniu ustawić uprawnienia

Android DevicePolicyManager lockNow()

http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html

wyłączyć urządzenie:

Nie jest to możliwe, ale można ponownie uruchomić go za pomocą PowerManager

http://developer.android.com/reference/android/os/PowerManager.html#reboot

Uwaga ta wymaga zgody restart i OS może go anulować.

+0

Pracuję na systemie Android, więc może istnieją pewne różnice aplikacji i framework BWT. Nadal nie działa. W każdym razie, dziękuję za odpowiedź – Nguyen

0

Tak, można to zrobić z programowaniem za pomocą poniższego kodu Uwaga: To rozwiązanie działa tylko na zakorzenione urządzenia

Shutdown:

try { 
    Process proc = Runtime.getRuntime() 
        .exec(new String[]{ "su", "-c", "reboot -p" }); 
    proc.waitFor(); 
} catch (Exception ex) { 
    ex.printStackTrace(); 
} 

Ponowne uruchomienie:

Ten sam kod, po prostu użyj "reboot" zamiast "reboot -p".

Powiązane problemy