使用API​​ 17的一个应用程序的多个启动器

时间:2015-02-20 13:52:47

标签: java android intellij-idea

我有我的应用程序,我希望有两个不同的发射器,每个发射器都会启动不同的活动。它们应该都捆绑在一个apk中,不是两个独立的应用程序。我知道这是可能的,例如Google Play商店的XKCD浏览器。我已经尝试在启动器中需要的第二个活动中实现此段:

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

这会导致在单击第二个启动器时声明为MAIN的第一个活动。我也尝试过:

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

以及:

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

实现了相同的结果。我需要这个功能到API 17.想法?

2 个答案:

答案 0 :(得分:1)

您应该有一个主要活动:

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

仅包含category部分的任何其他活动:

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

答案 1 :(得分:0)

也许您需要将同一日期放在启动应用程序的调用意图

的位置
<activity
android:name="com.spectrum.media.activity.InitializationScreen" 
android:configChanges="orientation|keyboardHidden|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.MUSIC_PLAYER" />

<category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.APP_MUSIC" />
<action android:name="android.intent.action.MEDIA_BUTTON" />
                <action android:name="android.media.AUDIO_BECOMING_NOISY" />
</intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" />
                <data android:mimeType="audio/*" />
                <data android:mimeType="application/ogg" />
                <data android:mimeType="application/x-ogg" />
                <data android:mimeType="application/itunes" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
                <data android:mimeType="audio/*" />
                <data android:mimeType="application/ogg" />
                <data android:mimeType="application/x-ogg" />
                <data android:mimeType="application/itunes" />
            </intent-filter>
            <intent-filter android:priority="-1">
                <action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="content" />
                <data android:mimeType="audio/*" />
                <data android:mimeType="application/ogg" />
                <data android:mimeType="application/x-ogg" />
                <data android:mimeType="application/itunes" />
           </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
                <!-->category android:name="android.intent.category.BROWSABLE" />;-->
</intent-filter>
</activity>

在第一个活动中解析此方案,并在必要时运行其他方案。