Zmiana aktywności startowej aplikacji
Stworzyłem mięso i flaki mojej aplikacji, ale chcę dodać inne działanie ,które będzie punktem wyjścia (rodzaj ekranu logowania).
Kilka pytań:
1 mam dość przyzwoity uchwyt, jak przełączać się między działaniami (na podstawie tego artykułu: http://www.linux-mag.com/id/7498 ) ale nie jestem pewien Jak zrobić nowy (z eclipse) .
2 Gdy mam nową aktywność utworzony, Jak mogę ustawić ją jako domyślną aktywność mojej aplikacji? przypuszczam, że mógłbym po prostu zmienić nazwę klas...ale czy jest jakiś bardziej elegancki sposób, aby sobie z tym poradzić (może w ramach
AndroidManifest.xml
)?
12 answers
Tak, używasz pliku AndroidManifest.xml
. Możesz nawet mieć więcej niż jedną aktywność uruchamiania określoną w manifeście aplikacji. Aby wykonać aktywność widoczną na launcherze, dodaj te atrybuty do swojej aktywności w manifeście:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-01 21:53:18
Przejdź do AndroidManifest.xml w folderze głównym projektu i zmień nazwę działania, które chcesz wykonać jako pierwsze.
Przykład:
<activity android:name=".put your started activity name here"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-01 21:36:27
Jeśli używasz Android Studio i być może wcześniej wybrałeś inną aktywność do uruchomienia.
Kliknij na Run > Edit configuration
, a następnie upewnij się, że wybrano Uruchom domyślną aktywność.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-27 16:00:44
<application
android:icon="@drawable/YOUR_ICON" <!-- THIS ICON(IMAGE) WILL BE SHOWN IN YOUR APPS -->
android:label="MY APP NAME " > <!-- HERE LABEL(APP NAME) -->
<activity
android:name=".application's starting activity" <!-- (.)dot means current dir, if your activity is in another package then give full package name ex: com.xxx.Activity -->
android:label="LABEL FOR ACTIVITY "
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-05 07:08:24
Postępuj zgodnie z poniższymi instrukcjami:
1:) Otwórz plik AndroidManifest.xml
.
2:) Przejdź do kodu aktywności, który chcesz zrobić swoją główną aktywność, jak poniżej.
Takie jak chcę zrobić SplashScreen jako główną aktywność
<activity
android:name=".SplashScreen"
android:screenOrientation="sensorPortrait"
android:label="City Retails">
</activity>
3:) Teraz skopiuj poniższy kod pomiędzy znacznikami aktywności tak samo jak:
<activity
android:name=".SplashScreen"
android:screenOrientation="sensorPortrait"
android:label="City Retails">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
I sprawdź, czy nowo dodane linie nie są dołączane do innych znaczników aktywności.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-12 19:13:23
jest to łatwe do naprawienia.
- zmiany w aktywności Launchera są również przechowywane w konfiguracji debugowania .
- przejdź do
Run > Debug Configurations
i edytuj ustawienie. - istnieje również podobne ustawienie w Intellij Pod
Run > Edit Configurations
select Run default Activity i nie będzie już zapisywać ustawienia w ten sposób.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-27 16:47:49
To proste. Zrób to w swoim pliku Manifest
.
<activity
android:name="Your app name"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-27 16:01:05
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-01-06 09:51:34
Idź na AndroidManifest.plik xml i dodaj jak poniżej
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Następnie zapisz i uruchom swój projekt android.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-02 00:23:05
Dodajesz to chcesz uruchomić aktywność
android:exported="true"
w pliku manifestu jak
<activity
android:name=".activities.activity.MainActivity"
android:windowSoftInputMode="adjustPan"
android:exported="true"/>
<activity
Otwórz plik java tego działania i kliknij prawym przyciskiem myszy, a następnie kliknij Uruchom 'main Activity'
Lub
Otwórz plik java tej czynności i naciśnij Ctrl+Shift+F10 .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-02-18 19:45:08
W ostatnim projekcie zmieniłem domyślną aktywność w AndroidManifest.XML z:
<activity android:name=".MyAppRuntimePermissions">
</activity>
<activity android:name=".MyAppDisplay">
<intent-filter>
<action android:name="android.intent.activity.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
W Android Studio 3.6; to wydaje się zepsute. Używałem tej techniki w przykładowych aplikacjach, ale kiedy używam jej w tej aplikacji w świecie rzeczywistym, spada płasko. IDE po raz kolejny donosi:
Błąd uruchamiania aplikacji: domyślna aktywność nie została znaleziona.
IDE nadal pokazywał błąd konfiguracji w przestrzeni "uruchom aplikację" na pasku narzędzi (żółta strzałka w tym screenshot)
Aby naprawić ten błąd próbowałem kilku przebudów projektu, a na koniec File > > "Invalidate Cache/Restart" . To nie pomogło. Aby uruchomić aplikację musiałem "Edytuj konfiguracje" i wskazać konkretną aktywność zamiast domyślnej aktywności:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-28 21:21:31
W AndroidManifest.xml
Zmieniłem tutaj pierwszą aktywność na MainActivity4 zamiast Mainactivity4:
Przed:
<activity android:name=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity2" />
<activity android:name=".MainActivity3" />
<activity android:name=".MainActivity4" />
<activity android:name=".MainActivity5" />
<activity android:name=".MainActivity6"/>
Po:
<activity android:name=".MainActivity" />
<activity android:name=".MainActivity2" />
<activity android:name=".MainActivity3" />
<activity android:name=".MainActivity4" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity5" />
<activity android:name=".MainActivity6"/>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-10 22:43:40