2012-01-25 3 views
2

멀티 태스킹을 지원하는 앱이 있습니다 (백그라운드에서 작동). 그러나 Android 태블릿에 문제가 있습니다. Android 액티비티 백 스택 및 멀티 태스킹 지원

내가 무엇을 가지고 ...

활동가

활동 A는 결과를 활동 B를 시작, 그래서 -> 활동 B

하면 때 사용자 긴 프레스 B 활동에서 버튼을 누르고 다른 응용 프로그램 (예 : 브라우저)으로 전환 한 다음 버튼을 다시 누르고 내 앱으로 돌아 오면 현재 활동 스택에있게됩니다. like :

활동 A -> 인터넷 브라우저 -> 활동 B

그래서 난 내 활동 B가 다시 내 활동 A와 오는 것이 아니라 인터넷 브라우저로하지 않습니다에서 그 결과를 다시 보내 finish()을 수행 할 때 ...

사용자가 버튼을 길게 눌러 사용뿐만 아니라, 다시 자신의 실행을 제공하기 위해 버튼을 사용하지 않는 경우이 또한의 경우는 길게 누르면 를 사용 버튼을 눌러 내 앱으로 돌아옵니다. 이 경우 다시 스택은 더 악화입니다 :

홈 런처 -> 활동 B

내가 활동 B에 finish()을 할 때, 사용자는 자신의 홈 화면으로 돌아 오기 그들은 활동에 돌아갈 수 없다 그들이 애플 리케이션 서랍에서 다시 애플 리케이션을 시작하는 경우를 제외하고.

이 경우 멀티 태스킹 작업을 구현할 방법이 있습니까? 활동 B는 사용자가이 두 가지 사이에서 열었던 관계없이 항상 결과를 활동 A로 되돌려 야합니다.

+0

별표 표시 할 코드 표시 일부 활동을 잘못 설정 한 것 같습니다. – kabuko

+0

문제는 플래그를 설정하지 않았지만 설정해야 할 플래그가 무엇인지 알 수 없기 때문에 올바른 플래그를 지정할 수 있습니다. 여기 내 코드는 다음과 같습니다. 'Intent i = new Intent (ActivityA.this, ActivityB.class); \t i.setAction ("android.intent.action.PICK"); startActivityForResult (i, 0);' – Gix

답변

1

확인. 오랜 시간 동안 연구하고 여러 가지 일을 시도한 끝에 문제의 해결책이 있습니다. 희망이

이 솔루션은

이 활동 B

이 방법 활동 B에 대한 android:noHistory="true" 설정 활동에 대한 android:launchMode="singleTask" 설정 AndroidManifest.xml에

에서 앞으로 간단한 꽤 똑바로

입니다 ... 다른 사람을 도움 브라우저와 같은 다른 앱으로 이동하거나 메인 스크린으로 빠져 나와 앱으로 돌아 오면 Activity A로 돌아갑니다. 스택에서 스택에서 삭제됩니다.