2017-08-28 1 views
2

Android unterstützt das Einklinken in den Activity Lebenszyklus durch Application.ActivityLifecycleCallbacks aber ich konnte keinen Weg zu leicht finden Haken in die Application eins. Warum gibt es keine ähnliche Schnittstelle für den Application Lebenszyklus?Wie man sich in den Android Application Lifecycle einklinkt?

Ich möchte wissen, ob eine App im Hintergrund/Vordergrund ist und ich die Zählung nicht manuell durchführen möchte (machbar mit Application.ActivityLifecycleCallbacks).

Ich entwickle eine Android-Bibliothek und einer der Anwendungsfälle erfordert zu wissen, ob die App, die die Bibliothek enthält, im Hintergrund/Vordergrund ist.

Ich sah, dass es eine ApplicationLifecycleCallback Schnittstelle im android.support.test.runner.lifecycle Paket (nur zum Testen) gibt. Warum nicht etwas ähnliches innerhalb der android.app Verpackung als Application.ActivityLifecycleCallbacks aussetzen?

Wie kann ich meinen Anwendungsfall erreichen? Wie würdest du es umsetzen?

Alle Hinweise/Ideen/Workarounds wären mehr als willkommen. Danke vielmals!

Antwort

4

Ich möchte wissen, ob eine App im Hintergrund/Vordergrund ist und ich die Zählung nicht manuell durchführen möchte (machbar mit den Application.ActivityLifecycleCallbacks).

Wenn das ist, wie Sie definieren „Application Lebenszyklus“, use ProcessLifecycleOwner von den Architektur-Komponenten.

+0

Verdammt, du bist schnell ;-) Jedes Mal, wenn ich anfange, die Antwort zu schreiben, bist du schneller. Gute Arbeit :) –

+1

> verdammt, du bist schnell ;-) @EmanuelSeibold sehr wahr @CommonsWare wusste nicht über 'ProcessLifecycleOwner'. Danke vielmals! – Guardiola31337

+2

@ Guardiola31337: Es ist ziemlich neu, da die Architecture Components zum ersten Mal im Mai 2017 veröffentlicht wurden. Und zur Zeit sind sie immer noch in einem Alpha-Zustand, also YMMV. FWIW, [hier ist eine Beispiel-App] (https://github.com/commonsguy/cw-androidarch/tree/v0.2/General/ProcessLifecycle), die seine Verwendung demonstriert. – CommonsWare

Verwandte Themen