栈处理问题
FLAG_ACTIVITY_CLEAR_TOP
只能处理一个activity存在的情况,如果我有多个activity? 1234,如果这四个都存在我想从4到1 上面的方法可行
可是如果我开始是234然后从4到1?如何?
<activity android:name=".activities.A"?
? ? ? ? ? android:label="@string/A_title"?
? ? ? ? ? android:launchMode="singleTask"/>?
?
?
<activity android:name=".activities.B"?
? ? ? ? ? android:label="@string/B_title"?
? ? ? ? ? android:launchMode="singleTask"/>?
public class DontHackAndroidLikeThis extends Application {?
?
? private Stack<Activity> classes = new Stack<Activity>();?
?
? public Activity getBackActivity() {?
? ? return classes.pop();?
? }?
?
? public void addBackActivity(Activity activity) {?
? ? classes.push(activity);?
? }?
?
From A to B:
DontHackAndroidLikeThis app = (DontHackAndroidLikeThis) getApplication();?app.addBackActivity(A.class); ?startActivity(this, B.class);?From B to C:
DontHackAndroidLikeThis app = (DontHackAndroidLikeThis) getApplication();?app.addBackActivity(B.class); ?startActivity(this, C.class);?In C:
If ( shouldNotGoBackToB() ) {?? DontHackAndroidLikeThis app = (DontHackAndroidLikeThis) getApplication();?? app.pop();?}?