【问题标题】:Is the Main Activity always the first Activity to start? [duplicate]Main Activity 总是第一个启动的 Activity 吗? [复制]
【发布时间】:2019-07-12 16:33:14
【问题描述】:

如果一个应用有多个屏幕,则意味着它有多个活动。

当用户启动应用程序时,出现的第一个屏幕是 Main Activity。

应用是否总是从 Main Activity 启动?

【问题讨论】:

  • Google 现在提倡开发人员将其较大的应用程序拆分为较小的应用程序包,其中每个包都有自己独立的功能。这样,如果用户只是使用应用程序的一小部分,则不必将整个应用程序加载到内存中。查看“深度链接”,了解如何为应用定义多个入口点。
  • @MichaelDougan 这两者都没有回答他的问题,而且对于绝大多数应用程序来说都没有意义。
  • @Gabe Sechan,应用程序的多个入口点的可能性直接解决了 Main Activity 是否总是第一个启动的问题。答案是否定的,这取决于您的应用程序是否有多个入口点。许多应用程序被编码为 Android Instant Apps,它们在作为 Instant App 运行时以及作为下载和安装的应用程序运行时具有单独的入口点。不同的入口点,开始时使用的不同活动。但你有权发表你的意见。
  • @MichaelDougan 所有这一切都不是什么新鲜事,任何 android 应用程序都可以有尽可能多的入口点,可以追溯到 v3。您甚至可以在应用程序抽屉中为不同的活动获取多个图标。但你的回答完全是题外话,涉及与他所问的事情无关的事情。将 app bundle 引入对话没有必要或价值

标签: android android-activity


【解决方案1】:

转到您的 android studio 中的清单文件。

您会看到如下内容:

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

将显示第一个要启动的活动的活动名称,您可以阅读更多关于它的信息here

如果您愿意,可以将此活动更改为另一个活动,MainActivity 是您创建新项目时的默认设置。


例如:

替换&lt;activity android:name=".MainActivity"&gt;

&lt;activity android:name=".SecondActivity"&gt;

现在SecondActivity 将首先显示。

【讨论】:

  • 该死,对我来说太快了:)
【解决方案2】:

不,当用户单击应用程序图标时,主 Activity 会启动。然后系统启动一个 Main Activity 的实例并加载它的布局。

但是,也可以将用户带到不同的 Activity,例如从通知或其他应用程序。

【讨论】:

    【解决方案3】:

    如果您使用片段,一个应用可以有多个屏幕和一个活动。

    也可以在 AndroidManifest.xml 中设置启动 Activity,只需将其添加到您要启动的 Activity 中即可:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-13
      • 2011-11-24
      • 1970-01-01
      • 2012-07-28
      • 1970-01-01
      • 2014-12-20
      • 2015-10-07
      • 2014-05-15
      相关资源
      最近更新 更多