我有一个包含两个活动的应用程序,我希望能够在启动器中显示两个图标,每个图标在应用程序中启动相应的活动。
具体来说,我想要一个图标来启动我的主应用程序,另一个图标来启动我的设置活动。这可能吗?
这是我到目前为止所尝试过的:
<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>
这将创建两个启动器图标,但它们都运行我的主应用程序,而不是运行我的设置应用程序的第二个图标。我尝试过只使用启动器类别,但没有得到图标,所以看起来我也需要主要操作。
这是正确的方法还是我应该在清单中声明两个应用程序?
您需要做的就是在另一个任务中启动您的设置活动。您可以通过指定其任务关联性来完成此操作。这是通过属性完成的android:taskAffinity
。默认情况下,所有活动共享相同的任务关联性,该关联性默认为清单中指定的主包。在您的设置活动中,您可以指定android:taskAffinity="your.own.package.SettingsTask"
让设置活动在其自己的任务中启动。
额外的文档。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)