前不久修改Gallery2,发现Camera没有Manifest.xml文件,而且是和Gallery2一起进行编译的,而将两个应用关联起来的就是taskAffinity属性了
说实话,我还从来没用过这个属性.
我们都知道每一个应用都会有一个task,基本没有特殊指定的话,task名就是应用的包名,而taskAffinity属性可以指定activity的task.
这个就是Gallery2的Manifest.xml文件中注册的Camera的CameraActivity:
<activity android:name="com.android.camera.CameraActivity"
android:taskAffinity="com.android.camera"
android:label="@string/camera_label"
android:icon="@mipmap/ic_launcher_camera"
android:configChanges="orientation|screenSize|keyboardHidden|mnc|mcc|smallestScreenSize|uiMode|screenLayout|navigation|keyboard|touchscreen"
android:clearTaskOnLaunch="true"
android:windowSoftInputMode="stateAlwaysHidden|adjustPan">
<intent-filter>
<action android:name="android.media.action.IMAGE_CAPTURE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
而taskAffinity属性是和activity的启动模式有关的,因为本人没有更深入研究,更具体的请看下面的链接:
http://blog.csdn.net/zhangjg_blog/article/details/10923643