활동 A가 작업 T1과 관련이 있고 활동 B가 작업 T2와 관련이 있다면 활동 B를 활동 A에서 끝내려면 어떻게합니까?다른 활동에서 활동을 완료하는 방법
내 응용 프로그램을 바로 가기 나 알림을 통해 시작할 수 있기 때문에이 기능이 필요합니다.
활동 A가 작업 T1과 관련이 있고 활동 B가 작업 T2와 관련이 있다면 활동 B를 활동 A에서 끝내려면 어떻게합니까?다른 활동에서 활동을 완료하는 방법
내 응용 프로그램을 바로 가기 나 알림을 통해 시작할 수 있기 때문에이 기능이 필요합니다.
나는 가장 좋은 방법 일 것입니다 무엇인지 잘 모르겠지만, 한 가지 방법은 다른 동안
위의 내 코멘트를 참조하십시오. –
onStop 또는 비슷한 것으로부터 참조를 제거 할 수 있습니다 ... – Warpzit
... 싱글로 활동를 전달하고 B에서 가져올 그것에) (마무리 할 수 있었다 접근법이 효과가있을 수 있습니다. 가장 직접적인 접근 방식은 다른 활동에 의도를 보내어 자신을 끝내라고 말합니다. 그 활동은 그 의도를 받아서 finish()를 호출합니다.
또 다른 방법으로 알림 핸들러의 clear top 플래그로 Activity B를 호출 할 수 있습니다. 예 :
Intent intent = new Intent(context, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent);
http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP
설정 한 경우, 그리고 시작되는 활동이 이미 현재 작업에서 실행 한 후 대신 그 활동의 새로운 인스턴스를 시작하고, 그 위에 다른 모든 활동이 될 것입니다 이 인 텐트는 새로운 인 텐트로 이전 활동에 전달됩니다.
다른 작업의 활동에는 영향을 미치지 않고 해당 작업의 모든 활동 만 지 웁니다. –
나는 yall이 여기서 언급 한 것과 같은 정보를 가지고 놀고 싶다. 나는 이것을 생각해 냈다.
Intent intent = new Intent(MainActivity.this,HighScoresActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
필요에 맞게 활동을 변경하지만 FLAG_ACTIVITY_CLEAR_TOP은 스택에서 다른 활동을 제거합니다.
두 활동이 동일한 응용 프로그램의 일부입니까? – FoamyGuy
예. 액티비티 a가 정상적으로 시작되었고 앱이 백그라운드 트로프 알림에있을 때 액티비티 B가 시작되었습니다. –
[service] (http://developer.android.com/guide/topics/fundamentals/services.html)를 사용한다고 말하고 싶지만, 많이 보지는 않았지만 그것은 당신에게 유용 할 수 있습니다. – user999717