Android中有的Ap功能比较复杂,为了方便用户使用,可以提供多个入口图标,每个入口图标对应一个功能。?
如果想安装一个Apk在程序管理中出现多个图标,只要给相应的Activity增加intent-filter即可,类似于如下:?
- <ativity?android:name="A2"?android:label="A2">??
- ????<intent-filter>??
- ????????<action?android:name="android.intent.action.MAIN"?/>??
- ????????<category?android:name="android.intent.category.LAUNCHER"?/>??
- ????</intent-filter>??
- </activity>??
此时点击桌面上的图标,即可进入各自相应的功能,如下图所示:??
但是如图中所示,如果在A1界面按下Home,再点A2图标,此时仍然出现的是A1的界面,为了让两个图标所有情况下都不干扰,修改Activity的LaunchMode为singleInstance:?
- <activity?android:name="A2"?android:label="A2"??
- ????android:launchMode="singleInstance">??
- ????<intent-filter>??
- ????????<action?android:name="android.intent.action.MAIN"?/>??
- ????????<category?android:name="android.intent.category.LAUNCHER"?/>??
- ????</intent-filter>??
- </activity>??
此时A1,A2两个图标就互不干扰了,不过有个副作用:?
A1启动A2,此时A2如果想再启动一个A1的新实例就不能了,即不能像原来A1--A2--A1这样同时存在两个A1或A2了。?