Program Club

현재 활동 바꾸기

proclub 2020. 12. 30. 08:21
반응형

현재 활동 바꾸기


현재 활동을 새 활동으로 교체해야합니다. 즉, 새 활동을 시작하고 작업 스택에서 현재 활동을 제거하려고합니다.

문서에 따르면 평소대로 Activity.startActivity사용하여 활동 을 시작한 다음 Activity.finish를 즉시 호출 하여 현재 활동을 닫는 것이 가장 좋은 방법 인 것 같습니다 .

이 API의 유효한 사용법입니까, 아니면 다른 작업을해야합니까?


예. 이런 식으로 api를 사용하는 것이 좋습니다.


이를 달성하는 적절한 방법은 다음을 사용하는 것입니다.

Intent intent = new Intent(this,MyActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_TASK_ON_HOME);
startActivity(intent);
this.finish();

코드는 활동에 있다고 가정하고, 그렇지 않으면 조각을 사용하는 경우 getActivity ()를 사용합니다.

이런 식으로 활동이 시작되고 뒤로 버튼에 대한 계층 구조를 올바르게 설정하고 적절한 활동도 삭제합니다.


사용해보십시오 FLAG_ACTIVITY_TASK_ON_HOME, FLAG_ACTIVITY_NEW_TASK의도 플래그에


활동에 android : launchMode = "singleInstance"를 추가 한 다음 onNewIntent 메서드를 재정 의하여 날짜를 업데이트 할 수 있습니다.

ExoPlayer 데모에서 PlayerActivity 참조


활동을 시작할 때 FLAG_ACTIVITY_CLEAR_TASK를 사용할 수 있습니다. 또한 매니페스트의 내 활동에 대한 launchMode를 singleTask로 정의했지만 새 활동에 대해 해당 동작을 원했기 때문입니다. startActivity에 플래그 FLAG_ACTIVITY_CLEAR_TASK를 전달하는 한 새로운 활동으로 launchMode에 사용하는 것에 관계없이 이전 활동을 지우는 것과 관련하여 원하는 것을 얻을 수 있다고 생각합니다.

참조 URL : https://stackoverflow.com/questions/2116158/replace-current-activity

반응형