如何在 Android 中正确定义 2 个主要的启动器活动

Posted

技术标签:

【中文标题】如何在 Android 中正确定义 2 个主要的启动器活动【英文标题】:How to properly define 2 main launcher activities in Android 【发布时间】:2021-12-23 00:03:57 【问题描述】:

我的应用有 2 个主要的启动器 Activity,它们都必须显示在应用系统抽屉中。

我的问题是,在第二个活动中定义意图过滤器的正确方法是什么,因此它的优先级较低,并且操作系统将第一个启动器活动视为主要活动。

现在我在两个活动中都设置了下一个,但我想知道是否有一种方法可以定义哪个是主要的,比另一个更重要,或者在定义多个主要活动时是否有特定的细节活动:

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

我知道有 category.DEFAULT 标志,但我不知道它的用途,添加时我看不出有什么区别:

<category android:name="android.intent.category.DEFAULT" />

最后,我在 Google 政策中找不到有关多个启动器活动的任何信息,但是在定义多个启动器活动时是否有任何政策或指南需要遵循?

【问题讨论】:

【参考方案1】:

因此它的优先级较低,并且操作系统将第一个启动器活动视为主要活动

没有“主要”的概念。启动器如何选择对其可启动活动进行排序取决于启动器的开发人员。

我想知道是否有一种方法可以定义哪个是主要的,并且比另一个更重要

不,抱歉。

我在 Google 政策中找不到有关多个启动器活动的任何信息,但是在定义多个启动器活动时是否有任何政策或指南可以遵循?

关于应用分发渠道政策的问题are considered to be off-topic for Stack Overflow。 FWIW,我不知道这里有任何限制,谷歌过去常常分发具有多个可启动活动的应用程序(特别是谷歌地图)。我不知道 Google 当前是否有任何应用提供多个启动器活动。

【讨论】:

以上是关于如何在 Android 中正确定义 2 个主要的启动器活动的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PHP + MySQL 中正确实现自定义会话持久化器?

如何在c#中正确实现等待异步[重复]

如何在 models.py 文件中正确定义 ManyToMany 字段

如何在struct中正确定义一个函数指针,它以struct为指针?

如何在 react-router-dom 中正确定义后备路由

如何在 Keras 中正确实现自定义活动正则化器?