스택을 변경해서는 안됩니다. Android 뒤로 버튼은 웹 브라우저에서와 같이 작동해야합니다.
나는 그것을 할 수있는 방법을 생각할 수 있지만 꽤 해킹입니다.
활동 singleTask
을 AndroidManifest
예제 에 추가 하여 활동 을 만드십시오 .
<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"/>
확장 Application
어디로 가야의 논리를 개최한다.
예:
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);
}
}
A에서 B까지:
DontHackAndroidLikeThis app = (DontHackAndroidLikeThis) getApplication();
app.addBackActivity(A.class);
startActivity(this, B.class);
B에서 C로 :
DontHackAndroidLikeThis app = (DontHackAndroidLikeThis) getApplication();
app.addBackActivity(B.class);
startActivity(this, C.class);
C에서 :
If ( shouldNotGoBackToB() ) {
DontHackAndroidLikeThis app = (DontHackAndroidLikeThis) getApplication();
app.pop();
}
pop()
스택에서 뒤로 버튼을 처리합니다 .
다시 한번, 당신은 이것을해서는 안됩니다 :)