Szukam, czy istnieje powiadomienie systemowe, którego mogę posłuchać, aby zobaczyć, kiedy ekran się włącza/wyłącza. jakieś pomysły? Coś podobnego do tego, kiedy sieć łączy się/rozłącza.Powiadomienie Androida o wyłączeniu/włączeniu ekranu
Odpowiedz
System będzie nadawać gdy ekran włącza się i wyłącza -
Aby słuchać na nich, można utworzyć BroadcastReceiver który nasłuchuje zdarzeń:
Intent.ACTION_SCREEN_OFF Intent.ACTION_SCREEN_ON
Są one wymienione w dokumentacji here:
Ponadto, istnieje tutorial o odpowiedzi na te zdarzenia, które może znaleźć zastosowanie ful.
Najprostszym sposobem jest umieszczenie tego w swojej metodzie MyApplication.onCreate()
:
IntentFilter intentFilter = new IntentFilter(Intent.ACTION_SCREEN_ON);
intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
Log.d(TAG, Intent.ACTION_SCREEN_OFF);
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
Log.d(TAG, Intent.ACTION_SCREEN_ON);
}
}
}, intentFilter);
Dzięki temu działa świetnie i powinien zostać oznaczony jako odpowiedź. – pmont
Jak i kiedy wyrejestrować odbiornik w tym przypadku? –
Możesz zadzwonić [unregisterReceiver()] (http://developer.android.com/reference/android/content/Context.html#unregisterReceiver (android.content.BroadcastReceiver)) w dowolnym momencie. Ale zakładając, że umieściłeś powyższy kod w 'MyApplication.onCreate()', nie możesz tego zrobić, ponieważ nie ma funkcji Application.onDestroy() (klasa 'Application' jest unikalna w ten sposób - zobacz oficjalne dokumenty lub [ tutaj] (http://stackoverflow.com/questions/17278201/android-ondestroy-lub-similar-method-in-application-class), aby uzyskać więcej informacji). –
- 1. Jak zrobić powiadomienie o zmianie rozmiaru ekranu?
- 2. Obliczanie gęstości ekranu Androida:
- 3. Rozmiary ekranu i gęstości ekranu Androida
- 4. Stosunek ekranu Androida
- 5. Programowanie Androida - rozdzielczość ekranu
- 6. Wykryj obrót ekranu głównego Androida
- 7. zapobiec przechwytywaniu ekranu w aplikacjach na Androida
- 8. Powiadomienie o zakończeniu obiektu C++
- 9. Wyskakujące powiadomienie o telefonie iPhone
- 10. pole wyboru - powiadomienie o zmianie
- 11. Powiadomienie o nowych obiektach S3
- 12. Powiadomienie o Androidzie nie działa
- 13. SLCOmposeviewcontroller powiadomienie o współdzieleniu Twittera
- 14. Usługa wykrywania dostępności Androida wykrywa powiadomienie
- 15. Zawiadomienie o zamiarach Androida, aby je wyczyścić:
- 16. Jak uzyskać powiadomienie o zamknięciu kanału SocketChannel?
- 17. Powiadomienie o Androidzie w konkretnym dniu
- 18. Powiadomienie o zmianach obiektu w blasku niebieskim
- 19. Ustaw powiadomienie o konkretnej godzinie android
- 20. Powiadomienie o zamknięciu twitter-bootstrap nie działa
- 21. Powiadomienie o Androidzie Oczekujące dodatki null
- 22. Powiadomienie o statusbar w android phonegap
- 23. AVPlayer, powiadomienie o stanie odtwarzania/wstrzymania?
- 24. Powiadomienie o Androidzie nie jest uruchamiane (PendingIntent)
- 25. Powiadomienie o wielu liniach Corona sdk display
- 26. Powiadomienie o toastach w Windows 8.1 app
- 27. Jak ustawić obraz ekranu blokady Androida?
- 28. Fragmenty Androida nakładające się po obróceniu ekranu
- 29. Wyślij ciche powiadomienie przez GCM na Androida/IOS
- 30. Powiadomienie DeleteIntent jest uszkodzone w nowszych wersjach Androida
Istnieje różnica między posiadające tę samą odpowiedź i skopiowanie jednego. Zrobiliśmy to samo wyszukiwanie google: P –
Przeczytaj uważnie dokument! Ta odpowiedź faktycznie mówi, czy urządzenie jest "interaktywne". Jeśli ekran jest zablokowany, urządzenie nie jest interaktywne. Tylko 'android.hardware.display.DisplayManager' może powiedzieć, czy sprzęt graficzny jest aktualnie włączony. Jednak to prawdopodobnie wymaga Androida 5. – OneWorld