标签:
<activity android:name=".MainActivity" android:taskAffinity=".cwp.affinity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
<strong>Application Activity taskAffinity allowTaskReparenting </strong>
application1 Activity1 com.winuxxan.affinity true
application2 Activity2 com.winuxxan affinity false
<application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Activity1" android:taskAffinity="com.winuxxan.task" android:label="@string/app_name"> </activity> <activity android:name=".Activity2"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
public class Activity2 extends Activity { private static final String TAG = "Activity2"; @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main2); } @Override public boolean onTouchEvent(MotionEvent event) { Intent intent = new Intent(this, Activity1.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); return super.onTouchEvent(event); } }
<application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MyActivity" android:taskAffinity="com.winuxxan.task" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>
我们首先启动MyActivity,然后按Home键,返回到桌面,然后打开Activity2,点击Activity2,进入Activity1。然后按返回键。我们发现,我们进入Activity的顺序为Activity2->Activity1,而返回时顺序为 Activity1->MyActivity。这就说明了一个问题,Activity1在启动时,重新宿主到了MyActivity所在的Task 中去了。
标签:
原文地址:http://blog.csdn.net/qq_25184739/article/details/51356108