谈Android下一个apk安装多个程序入口图标
16lz
2021-01-23
推荐安卓开发神器(里面有各种UI特效和android代码库实例)
Android中有的Ap功能比较复杂,为了方便用户使用,可以提供多个入口图标,每个入口图标对应一个功能。
如果想安装一个Apk在程序管理中出现多个图标,只要给相应的Activity增加intent-filter即可,类似于如下:
- <ativityandroid:name="A2"android:label="A2">
- <intent-filter>
- <actionandroid:name="android.intent.action.MAIN"/>
- <categoryandroid:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- </activity>
- <ativityandroid:name="A2"android:label="A2">
- <intent-filter>
- <actionandroid:name="android.intent.action.MAIN"/>
- <categoryandroid:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- </activity>
此时点击桌面上的图标,即可进入各自相应的功能。
如果在A1界面按下Home,再点A2图标,此时仍然出现的是A1的界面,为了让两个图标所有情况下都不干扰,修改Activity的LaunchMode为singleInstance:
复制到剪贴板XML/HTML代码- <activityandroid:name="A2"android:label="A2"
- android:launchMode="singleInstance">
- <intent-filter>
- <actionandroid:name="android.intent.action.MAIN"/>
- <categoryandroid:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- </activity>
- <activityandroid:name="A2"android:label="A2"
- android:launchMode="singleInstance">
- <intent-filter>
- <actionandroid:name="android.intent.action.MAIN"/>
- <categoryandroid:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- </activity>
此时A1,A2两个图标就互不干扰了,不过有个副作用:
A1启动A2,此时A2如果想再启动一个A1的新实例就不能了,即不能像原来A1--A2--A1这样同时存在两个A1或A2了。
更多相关文章
- Android Project和app中两个build.gradle配置的区别
- Android 8.0适配之应用图标适配
- Android studio无法修改桌面的图标(已解决)
- android 两个应用之间的通信与调用
- Android TextView前加图标垂直居中第一行(仿大众点评购买须知/提
- [Android]获取未安装的APK图标
- Android 应用没有桌面图标
- Android 桌面图标添加未读消息角标APP角标最佳实践
- Android 如何改变应用图标