2012-07-30 9 views
5

Używam Eclipse i Android SDK (z wtyczką ADT), nie wiem, czy jest to jakiś problem z konfiguracją lub jest to jakiś problem z kodem. Za każdym razem, gdy ładuję aplikację, którą zrobiłem od podstaw (oznacza to, że nie używam innego istniejącego kodu lub jednej próbki z biblioteki) do mojego urządzenia lub uruchomię go na emulatorze, cała aplikacja zostanie załadowana jako "oddzielne" aplikacje, które są działaniami . Jeśli na przykład aplikacja nosi nazwę "Witaj świecie" i ma dwie aktywności: "Aktywność główna" i "Aktywność wtórna", obie będą wyświetlane na urządzeniu z nazwami jako nazwami aplikacji i udostępnianiem ikony aplikacji w menu. Teraz, jeśli przejdę do ustawień, "Hello World" pojawi się jako aplikacja, teraz zachowuję się tak, jak powinna. Nie ma to wpływu na działanie aplikacji, jednak denerwuje się, że więcej niż jedna ikona uruchamia tę samą aplikację. Problem polega na tym, że kiedy po raz pierwszy użyłem zaćmienia, tak się nie stało.Eclipse ładuje oddzielne działania zamiast aplikacji

Na wszelki wypadek zainstalowałem już całą wersję Androida SDK i wtyczki ADT, próbowałem też używać 3 różnych wersji Eclipse (klasycznych, EE i Java), żadne z nich nie wygląda do pracy, mimo że w układzie graficznym dla dowolnej aktywności nazwa aplikacji jest wyświetlana na pasku z ikoną aplikacji, ale działając na emulatorze lub na prawdziwym urządzeniu, zamiast tego wyświetla nazwę działania. Szukałem wszędzie i nie rozwiązałem problemu. Dzięki!

+0

W jaki sposób działania są wymienione w pliku AndoidManifest.xml? – kostja

+0

@kostja problem pojawia się nawet wtedy, gdy jest tylko jedno działanie (nazwa działania pojawia się pod ikoną w menu, a nie w "zarządzaniu aplikacjami"). Są one wymienione jako: < application />. – MalancheK

+0

Hmm, jeśli masz jedno działanie w manifeście, ale wiele działań zostanie wdrożonych, to nie mam pojęcia. Sry – kostja

Odpowiedz

7

Sprawdź swój manifest, aby sprawdzić, czy więcej niż jedno działanie ma ten:

<category android:name="android.intent.category.LAUNCHER" /> 
+1

Oh! Tak, wszystkie zajęcia mają kategorię ustawioną jako Launcher, dlatego pojawiają się w menu? co powinno zamiast tego mówić o działaniu, które nie ma być programem uruchamiającym? czy to zależy od celu działania? Rozwiązany! wielkie dzięki! – MalancheK

+1

Sekcja "filtr intencji" określa sposoby uruchamiania działania, niezależnie od tego, czy jest to usługa działająca w tle, program uruchamiający czy nawet inna aplikacja. Sugeruję, aby przeczytać więcej na ten temat tutaj: http://developer.android.com/guide/components/intents-filters.html – Turnsole

+0

Chciałem zadać pytanie, ale uratowałeś ten dzień. Rewizja! – Si8

4

Odpowiedź znalazłem dla powyższego problemu, wymień category.LAUNCHER do category.EMBED we wszystkich działaniach oprócz MainActivity w twoim pliku manifestu.

Powiązane problemy