2012-03-12 21 views
5

W mojej aplikacji mam przycisk o nazwie EXIT, gdy użytkownik to kliknie, chcę ukończyć wszystkie działania mojej aplikacji, które znajdują się w stosie i przejść do domyślnej aktywności domowej lub aktywności wszystkich aplikacji .Jak programowo przejść do domyślnego ekranu głównego systemu Android?

Napisałem następujący kod w moim onClick():

Intent intent = new Intent(Intent.CATEGORY_HOME); 
startActivity(intent); 

Ale to daje mi następujący błąd w LogCat:

03-12 11:22:18.279: ERROR/AndroidRuntime(308): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.category.HOME } 

Więc co muszę zrobić, aby osiągnąć ten cel? Czy potrzebuję jakiejś konfiguracji w manifeście lub czy moje podejście jest złe?

+1

możliwy duplikat [Przechodzenie do ekranu głównego programowo] (http://stackoverflow.com/questions/3724509/programowanie programowo na ekranie głównym) –

Odpowiedz

13

Spróbuj tego:

Intent homeIntent= new Intent(Intent.ACTION_MAIN); 
homeIntent.addCategory(Intent.CATEGORY_HOME); 
homeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(homeIntent); 
+1

Czy kończy wszystkie czynności z zadania stosu? –

+1

Nie. Ten kod przeniesie Cię do ekranu głównego. Właśnie podałem ci kod, aby przejść do domyślnego ekranu głównego. (Jak widzę w twoim dzienniku, był to wyjątek rzucania). Aby zakończyć wszystkie czynności związane z aplikacją, musisz napisać logikę, która powinna zostać wywołana przed tym kodem. – AndroDev

+0

zrobi to Intent.FLAg_ACTIVITY_CLEAR_TOP, ponieważ każde działanie znajduje się na górze aktywności domowej. –

3

zastosowanie następujący kod do uruchomienia ekranu głównego:

Intent intent=new Intent(this, HomeClass.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 
Powiązane problemy