Android 앱에 8 개의 활동이 있으며 다음을 원합니다.
1) 처음 7 개의 활동 중에 뒤로 버튼을 누를 때마다 이전 활동으로 돌아갑니다 (Act1 <Act2 <Act3 <Act4 <Act5 <Act6 <Act7) BUT
2) 8 번째 액티비티 일 때만 Android 앱을 종료하고 휴대폰의 홈 화면으로 이동하고 싶습니다 .8 onBackPressed method
번째 액티비티 (Phone Home Screen <-Act8) 를 재정 의하여 시도합니다.
finish();
내 8 가지 활동의 모든 의도에 삽입하는 Android 구현을 찾았 지만 이렇게하면 원할 때마다 이전 활동으로 돌아갈 수 없기 때문에 원하는 것이 아닙니다 ( finish();
모든 현재 활동이 백 스택에서 제거됨 ).
어떻게하면 좋을까요?
여덟 번째 활동에서 지금까지 내 코드는 다음과 같습니다.
@Override
public void onBackPressed()
{
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
}
또 다른 방법 : 9 번째 활동을 만들고 FinishAllActivity 또는 이와 비슷한 이름으로 지정합니다. 이 활동을 호출 finish()
한 다음 onCreate()
.
에서 onBackPressed()
활동 8의 사용 FinishAllActivity을 시작 FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TASK
플래그 (볼 이 질문에 자세한 내용을). 활동 1-8이 스택에서 제거되면 9 번째 활동이 시작되고 즉시 종료되고 작업 스택이 지워집니다. 앱을 다시 열면 활동 1에서 시작해야합니다.
이 방법의 장점은 활동 1-7을 수정할 필요가 없다는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다