Android 애플리케이션을 개발 중입니다. 그래서 거기에 "Aboutus"라는 버튼이 있습니다. 하나를 클릭하면 다른 활동이 시작되고 해당보기가 표시됩니다.
버튼 Aboutus 클릭 이벤트에 대한 코드입니다.
aboutus.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(MainActivity.this,AboutUs.class);
startActivity(intent);
}
});
}
그리고 그 aboutus 활동에는 뒤로 버튼이 있습니다. 뒤로 버튼을 누르면 메인 활동으로 다시 이동합니다. 뒤로 버튼 키 이벤트는 이렇게갑니다 ..
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(AboutUs.this,MainActivity.class);
intent.putExtra("aboutus", true);
startActivity(intent);
finish();
System.exit(0);
}
});
여기에 다른 목적을 위해 몇 가지 인 텐트 엑스트라를 넣었습니다.이 경우에는 중요하지 않습니다. 그래서 다시 mainactivity에서 나가기 버튼이 있습니다. 전체 앱을 종료해야합니다.
내 종료 버튼 코드는 다음과 같습니다.
exit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
finish();
System.exit(0);
}
});
종료 버튼은 한 가지 시나리오를 제외하고는 완벽하게 작동합니다 (앱 종료). aboutus를 클릭하고 해당 활동으로 이동 한 다음 해당 aboutus 활동에서 뒤로 버튼을 누른 다음 다시 기본 활동으로 돌아와서 마지막으로 나가고 싶을 때 전체 앱을 종료하지 않고 대신 about 활동으로 이동합니다. .
결론적으로, MainActivity ---> aboutus 버튼을 클릭하십시오 (여기에 문제 없습니다. 이것은 aboutus 활동을 시작합니다)
Aboutus -----> 뒤로 버튼 클릭 (이것은 잘 작동합니다. 메인 활동으로 돌아 가기)
MainActivity-> Exit 버튼 (작동하지 않음. 다시 약 활동으로 이동)
그렇다면이 문제를 해결하는 방법은 무엇입니까?
인 텐트 플래그 ACTIVITY_CLEAR_TOP 를 사용 하여 그 위에있는 모든 활동을 지 웁니다.
Intent intent = new Intent(AboutUs.this,MainActivity.class);
intent.putExtra("aboutus", true);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
startActivity(intent);
FLAG_ACTIVITY_CLEAR_TOP 문서에서 :
설정되어 있고 시작되는 활동이 현재 작업에서 이미 실행 중이면 해당 활동의 새 인스턴스를 시작하는 대신 그 위에있는 다른 모든 활동이 닫히고이 Intent가 (이제 top) 새로운 의도로서의 오래된 활동.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다