afo*_*eca 46 android android-manifest
我有一个有两个活动的应用程序,我希望能够在启动器中显示两个图标,每个图标在应用程序中启动相应的活动.
具体来说,我想要一个图标来启动我的主应用程序,另一个图标来启动我的设置活动.这可能吗?
这是我到目前为止所尝试的:
<activity android:label="MyApp" android:name=".MyApp">
<intent-filter>
<action android:name=".MyApp"/>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:label="Settings" android:name=".Settings">
<intent-filter>
<action android:name=".Settings"/>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
这会创建两个启动器图标,但它们都运行我的主应用程序而不是运行我的设置应用程序的第二个图标.我尝试过只有启动器类别,但后来我没有得到一个图标,所以看起来我也需要主要动作.
这是正确的方法还是应该在清单中声明两个应用程序?
小智 8
你肯定会朝着正确的方向前进.这就是我所拥有的(截断,因为我在快速访问期间将所有活动都放在列表中):
<activity android:name=".DeckDrill"
android:label="DeckDrill">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".DeckList"
android:label="DeckList">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
我认为可能发生的事情是你的动作元素的干扰,它指定你的类的名称.我很确定动作和类别需要引用常量.我不知道这会如何导致你所看到的,但你可以尝试删除它们.除此之外,你几乎拥有我拥有的东西.