更改应用程序的启动活动

时间:2010-09-02 23:15:01

标签: android android-activity

我已经创建了我的应用程序的肉和内容,但我想添加一个不同的活动,这将是一个起点(一种登录屏幕)。

夫妻问题:

  • 1我对如何在活动之间切换有相当不错的处理(基于这篇文章:http://www.linux-mag.com/id/7498),但我不确定如何创建一个新的(蚀)

  • 2创建新活动后,如何将其设置为应用程序的默认活动?我认为我可以更改类的名称...但是是否有更优雅的方式来处理(可能在AndroidManifest.xml)?

13 个答案:

答案 0 :(得分:593)

是的,您使用AndroidManifest.xml文件。实际上,您甚至可以在应用程序清单中指定多个启动器活动。要在启动器上显示活动,请将这些属性添加到清单中的活动:

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

答案 1 :(得分:81)

转到项目根文件夹中的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>

答案 2 :(得分:43)

如果您使用的是Android Studio,并且之前可能已选择另一个活动来启动。

单击Run > Edit configuration,然后确保选中启动默认活动

Launch default Activity

答案 3 :(得分:27)

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

答案 4 :(得分:16)

按照以下说明操作:

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>

并检查新添加的行是否未附加其他活动标记。

答案 5 :(得分:15)

这很容易解决。

  • 对Launcher活动的更改也存储在 Debug配置中。
  • 转到Run > Debug Configurations并修改设置。
  • Run > Edit Configurations选择运行默认活动下的 Intellij 中也有类似的设置,它将不再以这种方式保存设置。

答案 6 :(得分:14)

这很简单。在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>

答案 7 :(得分:4)

转到AndroidManifest.xml文件并添加如下

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

然后保存并运行你的android项目。

答案 8 :(得分:3)

在最近的项目中,我使用以下命令更改了AndroidManifest.xml中的默认活动:

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

在Android Studio 3.6中;这似乎坏了。我已经在示例应用程序中使用了此技术,但是当我在实际应用程序中使用它时,它就变得平坦了。 IDE再次报告:

运行应用程序时出错:未找到默认活动。

IDE仍在工具栏的“运行应用程序”空间中显示配置错误(此屏幕截图中的黄色箭头)

Error in "run app" configuration

为更正此错误,我尝试了几次项目重建,最后尝试文件>>“使缓存无效/重新启动” 。这没有帮助。要运行该应用程序,我必须“编辑配置” ,并指向特定活动而不是默认活动:

Edit configuration dialog box

答案 9 :(得分:2)

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

答案 10 :(得分:1)

您添加了您要启动的活动  android:exported="true"在清单文件中,例如

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

打开此活动的Java文件,然后单击鼠标右键,然后单击“运行'主活动”

OR

打开此活动的Java文件,然后按 Ctrl + Shift + F10

答案 11 :(得分:1)

在 AndroidManifest.xml 中

我在这里将第一个活动更改为 MainActivity4 而不是 MainActivity:

之前:

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

之后:

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

答案 12 :(得分:0)

对于在 debug\AndroidManifest.xml 文件中遇到错误的任何人,请确保包含 " 标记!例如:

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