두 가지 활동이있는 응용 프로그램이 있습니다. A와 B로 시작합니다. A는 초기 활동이고 B는 두 번째 활동입니다. B가 시작되면 B가 외부 네트워크 연결을 설정하기 때문에 응용 프로그램이 실행을 중지 할 때까지 활동이 파괴되는 것을 원하지 않습니다.활동 유지 및 안드로이드에서 제대로 종료
내가 원하는 것은 사람들이 활동을 A에 입력하고 위젯을 누른 다음 B, 즉 A -> B로 이동하는 것입니다. 그들이 B의 뒤로 버튼을 누르면 B가 파괴되는 것을 원하지 않습니다. A가 다시 생성되었는지 여부는 상관하지 않지만 기본적으로는 아닙니다. 현재 활동이 A가되었습니다. 사람들이 B로 이동하기 위해 위젯을 누르면 열려있는 네트워크 연결로 기존 B 활동을 다시 입력하길 원합니다. 그들이 다시 물러 가면 나는 그들에게 A 활동을하기를 원한다. 이제 A에서 그들이 뒤로 물러 서면 응용 프로그램의 모든 활동을 닫고 싶습니다.
나는 A로 갈 때 B 액티비티가 파괴되지 않도록 B에서 onBackPressed() 메소드를 생성한다는 측면에서이 어딘가에있다. 또한 B를 호출하는 A의 의도에 "FLAG_ACTIVITY_REORDER_TO_FRONT"인 텐트 플래그를 추가하면 A에서 두 번째로 호출 할 때 B가 다시 작성되는 것을 방지하지만 이것이 최선의 방법은 아닐 수도 있습니다.
내가 무엇을 반복하려면 다음- 는 활동 A.를 여는 B 다시 버튼을 활동 B.
- 보도를 여는 (A)에 활동 A.에서
- 을 눌러 위젯을 응용 프로그램이 입력이 안 B를 닫고 스택에 놓습니다.
- 다시 A. B에서 위젯을 누릅니다. 그러면 기존 B 작업이 열립니다.
- 이제 B에서 뒤로 눌러 A로 이동하십시오.
- A를 눌러 애플리케이션을 종료하십시오.
프로그램 흐름은 [홈 화면] -> 활동 A -> 활동 B입니다. 뒤로 키는이 흐름을 취소합니다.
네가 맞다. 화면 밖으로 나가면 생존하는 활동 객체에 의존 할 수 없으며 서비스 클래스는 네트워크 연결을 유지하는 것이 가장 좋습니다. 이것이 내가 한 일이며 지금까지 잘 진행되어 왔습니다. 감사. –