HOME意向过滤器可启动单独的活动(不是主要活动)

时间:2018-07-30 11:27:01

标签: android manifest intentfilter android-homebutton

我的应用程序的主要启动活动是语言选择“语言”活动,一旦选择了语言,它就会前进到“ MainMenu”活动,然后用户可以根据需要浏览和使用该应用程序。

基本上,我正在尝试获取它,以便在选择“ Android主页”按钮后,我们

1)阻止应用程序实际关闭 和 2)将用户返回“ MainMenu”活动,而不是主启动语言活动。

值得指出的是,这不适用于应用程序商店,并且在自定义硬件和环境中使用。要求是,一旦经过语言选择后,按Home键应始终返回主菜单。我们可以通过从主菜单返回来更改语言,以进行语言选择。

我尝试在清单中添加一个意图过滤器,以使语言活动是默认活动和启动器活动,然后尝试使用单独的意图过滤器来指定HOME动作启动主菜单,但此操作不起作用。

这甚至可能吗?我知道是否将HOME类别意图过滤器放置在MAIN活动中-这样可以防止应用程序关闭(对第1点有利),但不会将我发送到正确的活动中。

此刻,我开始认为唯一的方法是通过将Main Menu(主菜单)设置为应用程序启动的MAIN活动来进行相当大的重构,并标记其最初启动并迅速返回至语言选择,但是这感觉不是很好的解决方案

这是我目前拥有的。我也尝试过在LanguageActivity中同时包含两个意图过滤器,并在HOME类别中将动作包括为“ .main.MainMenuActivity”,但这没有任何效果。似乎第二个Intent过滤器被忽略了,这与我在其他地方所读到的内容相反。

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

<activity
    android:name=".main.MainMenuActivity"
    ...>
    <intent-filter>
        <category android:name="android.intent.category.HOME"/>
    </intent-filter>
</activity>

在此先感谢任何指针:)

0 个答案:

没有答案