2012-01-20 20 views
6

Jak zatrzymać uruchamianie aplikacji w tle w systemie Android? Chcę, aby moja aplikacja była zawsze świeża przy każdym załadowaniu. Jak to zrobić programowo.Zatrzymaj aplikację przed uruchomieniem w tle?

+0

proszę wyczyścić –

+0

Proszę, powiedz mi krótko o swoim pytaniu. – Lucifer

+0

spróbować tego posta http://stackoverflow.com/questions/7426751/how-to-close-stop-running-application-on-background-android może to pomaga. – Ajay

Odpowiedz

6

Zastąp onStop metoda swojej działalności:

@Override 
public void onStop(){ 
    super.onStop(); 
    finish(); 
} 

Ale myślę, że to zły pomysł, aby ponownie uruchomić aplikację za każdym razem. Lepiej zastąpić metodę onStart i obsłużyć tutaj "restart".

W rzeczywistości Twoja aplikacja nie "działa" w tle. System operacyjny Android przechowuje go w pamięci lub zapisuje stan aktywności na urządzeniu (a następnie można go załadować, używając parametru savedInstanceState w metodzie onCreate).

+0

To zabije aktywność, gdy użytkownik zawiesi telefon lub gdy pozostawi to działanie innym. –

+0

@ MarkGjøl, Myślałem, że to jest to, czego chce. Jednak jest to zły pomysł) –

+1

To też zrozumiałem, o co prosił OP. To jest odpowiedź na pytanie, ale jest to zła praktyka. Cały ekosystem Androida opiera się na fakcie, że użytkownik nie powinien martwić się o "zakończenie" lub "rozpoczęcie od zera" aplikacji. – Guillaume

7

Możesz użyć zdarzenia onResume, aby ponownie załadować, lub look here.

EDIT:

Właściwie trzeba korzystać z tych funkcji, aby odświeżyć swoją aplikację, gdy użytkownik go poruszać. enter image description here

4

Po dodaniu wykończenia();

Ten kod całkowicie zatrzyma aplikację.

System.runFinalizersOnExit(true); 
System.exit(0); 
android.os.Process.killProcess(android.os.Process.myPid()); 
0

należy skorzystać z Intent.FLAG_ACTIVITY_CLEAR_TOP aby zakończyć wszystkie inne działania uruchomionych w basenie działalności i wywołać pierwszą aktywność, gdzie można poprosić, aby wyjść z aplikacji

2

Cały Android ekosystem opiera się na fakcie, że użytkownik nie powinien martwić się o aplikację "kończącą" lub "rozpoczynającą od zera". Jeśli za każdym razem musisz uruchamiać aplikację od podstaw, dzieje się tak prawdopodobnie dlatego, że masz zadania w "scratchu", które nie powinny tam być i prawdopodobnie powinny znajdować się gdzieś w onResume.

Podaj nam więcej informacji, jeśli chcesz uzyskać bardziej szczegółową odpowiedź.

Powiązane problemy