2011-09-20 21 views
9

Mam aktywność o nazwie MainActivity. Ta aktywność uruchamia powiadomienie z włączoną funkcją PendingIntent, która otwiera tę główną funkcję.Aktywność Android singleton

Aby zamknąć aplikację, muszę dwukrotnie kliknąć przycisk Wstecz. Chciałbym ustawić działalność jako singleton. Próbowałem ustawić pojedynczeInstance lub singleTask do zamanifestowania, ale to nie działa.

Odpowiedz

15

singleInstance i singleTask nie są zalecane do ogólnego użytku.

Spróbuj:

android:launchMode="singleTop" 

Aby uzyskać więcej informacji prosimy zapoznać się launchMode section dokumentacji Element aktywny.

W uzupełnieniu do poprzedniego odniesienia należy również przeczytać tasks and back stack

4

Jeśli chcesz powrócić do aplikacji bez tworzenia nowej instancji swojej działalności, można wykorzystać te same filtry zamiarom jak android używa podczas uruchamiania aplikacji :

final Intent notificationIntent = new Intent(context, MainActivity.class); 
notificationIntent.setAction(Intent.ACTION_MAIN); 
notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER); 
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 

jak stworzony, aby otworzyć swoją działalność z paska powiadomień intencją jest taka sama jak android używany do uruchamiania aplikacji, wcześniej otwarty aktywności będą wyświetlane zamiast tworzyć nowy.

Powiązane problemy