마지막 활동에서 onBackPressed를 사용하여 Android 앱을 영구적으로 종료하려면 어떻게해야합니까?

사용자 4003509

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] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관