当前位置: 代码迷 >> Android >> 叙Android下一个apk安装多个程序入口图标
  详细解决方案

叙Android下一个apk安装多个程序入口图标

热度:76   发布时间:2016-05-01 19:09:15.0
谈Android下一个apk安装多个程序入口图标

Android中有的Ap功能比较复杂,为了方便用户使用,可以提供多个入口图标,每个入口图标对应一个功能。
?
如果想安装一个Apk在程序管理中出现多个图标,只要给相应的Activity增加intent-filter即可,类似于如下:

复制到剪贴板??XML/HTML代码
  1. <?ativity?android:name="A2"?android:label="A2">??
  2. ? ??
  3.   <?intent-filter>??
  4. ? ??
  5.   <?action?android:name="android.intent.action.MAIN"?/>??
  6. ? ??
  7.   <?category?android:name="android.intent.category.LAUNCHER"?/>??
  8. ? ??
  9.   <?/intent-filter>??
  10. ? ??
  11.   <?/activity>??
  12. ? ??
  13.   <?ativity?android:name="A2"?android:label="A2">??
  14. ? ??
  15.   <?intent-filter>??
  16. ? ??
  17.   <?action?android:name="android.intent.action.MAIN"?/>??
  18. ? ??
  19.   <?category?android:name="android.intent.category.LAUNCHER"?/>??
  20. ? ??
  21.   <?/intent-filter>??
  22. ? ??
  23.   <?/activity>??

此时点击桌面上的图标,即可进入各自相应的功能。

如果在A1界面按下Home,再点A2图标,此时仍然出现的是A1的界面,为了让两个图标所有情况下都不干扰,修改Activity的LaunchMode为singleInstance:

复制到剪贴板??XML/HTML代码
  1. <?activity?android:name="A2"?android:label="A2"??
  2. ? ??
  3.   android:launchMode="singleInstance">??
  4. ? ??
  5.   <?intent-filter>??
  6. ? ??
  7.   <?action?android:name="android.intent.action.MAIN"?/>??
  8. ? ??
  9.   <?category?android:name="android.intent.category.LAUNCHER"?/>??
  10. ? ??
  11.   <?/intent-filter>??
  12. ? ??
  13.   <?/activity>??
  14. ? ??
  15.   <?activity?android:name="A2"?android:label="A2"??
  16. ? ??
  17.   android:launchMode="singleInstance">??
  18. ? ??
  19.   <?intent-filter>??
  20. ? ??
  21.   <?action?android:name="android.intent.action.MAIN"?/>??
  22. ? ??
  23.   <?category?android:name="android.intent.category.LAUNCHER"?/>??
  24. ? ??
  25.   <?/intent-filter>??
  26. ? ??
  27.   <?/activity>??

此时A1,A2两个图标就互不干扰了,不过有个副作用:
?
  A1启动A2,此时A2如果想再启动一个A1的新实例就不能了,即不能像原来A1--A2--A1这样同时存在两个A1或A2了。

  相关解决方案