활동을 시작할 때 "SingleTask"의 launcheMode를 무시하는 방법은 무엇입니까?
B의 실행 모드가 "SingleTask"인 Activite가 3 개 있습니다. C를 사용할 때 이전 B를 다시 시작하는 대신 새 B를 시작하는 방법을 궁금합니다.
활동을 시작할 때 "SingleTask"의 launcheMode를 무시하는 방법은 무엇입니까?
B의 실행 모드가 "SingleTask"인 Activite가 3 개 있습니다. C를 사용할 때 이전 B를 다시 시작하는 대신 새 B를 시작하는 방법을 궁금합니다.
불행히도, Activity B가 android:launchMode="singleTask"
을 사용하도록 매니페스트에서 설정되면이를 무시할 방법이 없습니다.
그러나 매니페스트에서이 속성을 제거 할 수 대신 당신이 이singleTask
동작을 원하는 경우 다음과 같은 코드를 사용
singleTask
동작을 얻을 수 있다는 것입니다
Intent intent = new Intent(this, ActivityB.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
, 당신이 그것을 원하지 않을 때 당신은 그것을 얻지 못합니다. 방금 전략을 변경해야합니다. 활동의 onBack 프레스 방법 코드 아래
는사용
@Override
public void onBackPressed() {
Intent BackpressedIntent = new Intent();
BackpressedIntent .setClass(getApplicationContext(),B.class);
BackpressedIntent .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(BackpressedIntent);
finish();
}