Изменить начальную активность приложения - PullRequest
347 голосов
/ 03 сентября 2010

Я создал суть и внутренности своего приложения, но я хочу добавить другое действие, которое будет отправной точкой (своего рода экран входа в систему).

Пара вопросов:

  • 1 У меня есть достаточно приличное представление о том, как переключаться между действиями (на основе этой статьи: http://www.linux -mag.com / id / 7498 ), но я не уверен как создать новый (с затмением) .

  • 2 Как только у меня будет создано новое действие, как я могу установить его в качестве действия по умолчанию для моего приложения? Я предполагаю, что могу просто изменить имя классов ... но это Есть ли более элегантный способ справиться с этим (может быть, в AndroidManifest.xml)?

Ответы [ 10 ]

596 голосов
/ 03 сентября 2010

Да, вы используете файл AndroidManifest.xml.На самом деле вы можете даже указать несколько действий запуска, указанных в манифесте приложения.Чтобы сделать активность видимой на панели запуска, вы добавляете эти атрибуты к вашей активности в манифесте:

81 голосов
/ 24 июня 2011

Перейдите к AndroidManifest.xml в корневой папке вашего проекта и измените имя действия, которое вы хотите выполнить первым.

Пример:

<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>
44 голосов
/ 07 мая 2015

Если вы используете Android Studio и, возможно, ранее выбрали другое действие для запуска.

Нажмите Run > Edit configuration и убедитесь, что выбрано Запустить действие по умолчанию .

Launch default Activity

28 голосов
/ 02 апреля 2013
 <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>
17 голосов
/ 31 мая 2016

Следуйте приведенным ниже инструкциям:

1 :) Откройте файл AndroidManifest.xml.

2 :) Перейдите к коду активности, который вы хотите сделать своимосновной вид деятельности, как показано ниже.

такой, как я хочу сделать SplashScreen в качестве основного вида деятельности

<activity
    android:name=".SplashScreen"
    android:screenOrientation="sensorPortrait"
    android:label="City Retails">
</activity>

3 :) Теперь скопируйте приведенный ниже код между тегами действий, как:

<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>

, а также убедитесь, что вновь добавленные строки не связаны с другими тегами активности.

15 голосов
/ 29 января 2014

Это легко исправить.

  • Изменения активности Launcher также хранятся в конфигурации Debug .
  • Перейдите на Run > Debug Configurations и измените настройку.
  • Существует также аналогичная настройка в Intellij в Run > Edit Configurations выберите Выполнить действие по умолчанию , и он больше не будет сохранять настройки таким образом.1019 *
14 голосов
/ 21 августа 2013

Все просто. Сделайте это в вашем файле 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>
4 голосов
/ 31 января 2014

Просто перейдите в файл AndroidManifest.xml и добавьте, как показано ниже

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

, затем сохраните и запустите свой проект Android.

2 голосов
/ 06 января 2019
 <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
1 голос
/ 28 сентября 2018

Вы добавляете это действие, которое хотите запустить android:exported="true" в файле манифеста, например

 <activity
      android:name=".activities.activity.MainActivity"
      android:windowSoftInputMode="adjustPan"
      android:exported="true"/>
  <activity

Откройте java-файл этого действия и щелкните правой кнопкой мыши, затем щелкните «Выполнить основное действие»

ИЛИ

Откройте Java-файл этого действия и нажмите Ctrl + Shift + F10 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...