读书人

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

发布时间: 2012-06-26 10:04:13 作者: rapoo

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

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

复制到剪贴板??XML/HTML代码
  1. <?ativity?android:name="A2"?android:label="A2">??? ??
  2.   <?intent-filter>??? ??
  3.   <?action?android:name="android.intent.action.MAIN"?/>??? ??
  4.   <?category?android:name="android.intent.category.LAUNCHER"?/>??? ??
  5.   <?/intent-filter>??? ??
  6.   <?/activity>??? ??
  7.   <?ativity?android:name="A2"?android:label="A2">??? ??
  8.   <?intent-filter>??? ??
  9.   <?action?android:name="android.intent.action.MAIN"?/>??? ??
  10.   <?category?android:name="android.intent.category.LAUNCHER"?/>??? ??
  11.   <?/intent-filter>??? ??
  12.   <?/activity>??

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

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

复制到剪贴板??XML/HTML代码
  1. <?activity?android:name="A2"?android:label="A2"??? ??
  2.   android:launchMode="singleInstance">??? ??
  3.   <?intent-filter>??? ??
  4.   <?action?android:name="android.intent.action.MAIN"?/>??? ??
  5.   <?category?android:name="android.intent.category.LAUNCHER"?/>??? ??
  6.   <?/intent-filter>??? ??
  7.   <?/activity>??? ??
  8.   <?activity?android:name="A2"?android:label="A2"??? ??
  9.   android:launchMode="singleInstance">??? ??
  10.   <?intent-filter>??? ??
  11.   <?action?android:name="android.intent.action.MAIN"?/>??? ??
  12.   <?category?android:name="android.intent.category.LAUNCHER"?/>??? ??
  13.   <?/intent-filter>??? ??
  14.   <?/activity>??

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

读书人网 >Android

热点推荐