현재 활동 바꾸기
현재 활동을 새 활동으로 교체해야합니다. 즉, 새 활동을 시작하고 작업 스택에서 현재 활동을 제거하려고합니다.
문서에 따르면 평소대로 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
'Program Club' 카테고리의 다른 글
| 대리자로 생성자-C #에서 가능합니까? (0) | 2020.12.30 |
|---|---|
| Python 다중 처리 및 공유 카운터 (0) | 2020.12.30 |
| Catch (Exception)가 거의 항상 나쁜 생각 인 이유는 무엇입니까? (0) | 2020.12.30 |
| 때로는 JSF URL이 * .jsf, 때로는 * .xhtml, 때로는 / faces / *라는 것을 알 수 있습니다. (0) | 2020.12.30 |
| Scala에서 여러 생성자가있는 Java 클래스를 어떻게 하위 클래스로 만들 수 있습니까? (0) | 2020.12.30 |