2012-01-09 3 views
0

세 가지 활동이 있는데 Act1, Act2 및 Act3으로 전화 할 수 있습니다. Act1에는 로그인 양식이 있는데 (로그인 성공시) Act2로가는 두 가지 옵션이 있습니다 (1. Act3로 이동, 일부 추가 데이터로 Act3로 이동). 그런 다음 사용자는 Act3으로 이동합니다.Android 홈 화면에서 앱을 복원 할 때 다른 활동으로 전환

물론 사용자가 안드로이드 장치의 "집"버튼을 누르면 안드로이드 장치가 최소화되고 메모리에 안드로이드가 필요할 때까지 메모리에 보관됩니다 (이 경우 응용 프로그램이 파괴됩니다). 그러나 사용자가 "집"버튼을 누른 다음 응용 프로그램을 다시 빠르게 열면 응용 프로그램이 최소화되기 전에 포 그라운드에 있던 활동으로 복원됩니다.

나는 앱을 최소화하고 다시 한 번 Act1로 곧장 가서 사용자에게 다시 로그인하라는 메시지를 표시하려고한다. 나는 앱이 Act2 나 Act3에서 재개되기를 원하지 않는다.

답변

1

응용 프로그램이 실제로 보안에 민감하지 않으면 기본 동작이 사용자에게 더 좋을 것입니다. 응용 프로그램을 시작할 때마다 로그인과 암호를 입력하면 매우 성가 시게됩니다. 예를 들어 네이티브 GMail 응용 프로그램을 예로 들면, 열 때마다 재 인증을 요구하지 않습니다.

이제 응용 프로그램에 해당 동작이 실제로 필요한 경우 (신용 카드가 안전하다고 말하면), 내 첫 번째 추측은 Act3의 onPause()를 처리하고 거기에서 finish()를 호출하는 것입니다. finish()를 두 번 호출하지 않도록 조심하십시오 (isFinishing() 참조).

또한 사용자의 기대치가 깨 졌으므로 앱이 성가신 일이 아니라 자신의 보안을 위해 앱처럼 작동한다는 것을 사용자에게 분명히하십시오.

0

예를 들어 홈 버튼을 누르면 사용자가 이동하지 않을 때 onPause() 메서드가 먼저 호출됩니다. 거기에서 논리를 처리 할 수 ​​있어야합니다 (예 : Act2 또는 Act3에 finish() 호출).

편집 : ㅎ, 예, 그가 말한 바 : D

관련 문제