2012-10-19 2 views
0

앱이 열릴 때 알림 팝업을 원합니다. 하지만 일단 사용자가 퇴장하면 같은 활동으로 돌아가더라도 다시 돌아 오기를 원하지 않습니다. 하지만 앱이 종료되고 나중에 다시 돌아 오면 동일한 대화 알림이 팝업으로 표시됩니다 (사용자에게 로그인하라는 메시지가 표시됨). Android가 true 또는 False로 설정 됨 - 앱 종료시 지워짐

그래서 기본적으로

...

boolean b = true; 

if (b == true) { 
    // show dialog 
    b = false; 
} 

는 단순히 VAR (B)가 출구에 상태지만 명확한를 저장합니다.

+0

android에는 "app exit"개념이 없으므로 Android의 라이프 사이클 만 가져야합니다. 당신이 원하는 행동에 대해 더 구체적으로 말하십시오. –

+0

그래, 나도 알아, 나쁜 표현 ... onDestroy 내 생각 엔? – KickingLettuce

+1

나는 그게 네가 원하는지 의심 스럽다. 그 행동을 설명해 주시겠습니까? 예를 들어 사용자가 홈 화면으로 돌아가는 것처럼 시각적으로 앱을 떠난 다음 앱으로 돌아 오면 상태를 초기화해야합니까? –

답변

1

애플 리케이션을 가로 질러 그 값이 계속 유지되는 것을 원하지 않는다면 sharedpreference를 사용하는 것이 중요합니다.

아마도 응용 프로그램 클래스에서 부울을 사용하는 것이 더 좋을까요? 앱이 완전히 종료 될 때까지 지속됩니다.

+0

이 문제를 처리 할 응용 프로그램 클래스가 있습니다. 나는 그것을 시도 할 것이다! – KickingLettuce

+0

응용 프로그램 클래스는 이론적으로 영원히 살 것입니다. 사용자는 몇 주 후 앱을 실행할 수 있으며 앱 클래스의 상태는 계속 설정됩니다. –

1

android에는 '앱 종료'라는 개념이 없으므로 Android 운영주기 만 있으므로 원하는 동작에 대해보다 구체적으로 설명해야합니다. 예를 들어, 사용자가 앱의 모든 활동을 일시 중지하고 앱의 활동을 다시 시작하지 않을 때마다 의미가 있습니까?

활동이 하나만있는 경우 활동 변수에 상태 변수를 보관하면 일시 중지시 거짓으로, 다시 시작하면 참으로 설정할 수 있습니다.

> 1 개의 활동이있는 경우 전경에 활동이없는 시간을 더 이상 추적하지 않아도됩니다. 예를 들어 작업이 일시 중지 될 때마다 foreground = false를 설정하고 다시 시작할 때마다 foreground = true로 설정 한 다음 시간 허용 오차를 확인합니다. 예를 들어 일시 중지와 재개 사이의 시간이 특정 임계 값보다 큰 경우 배경에서 되돌아 오는 것으로 가정합니다.

0

버튼이나 다른 수신기로 앱에서 로그 아웃하지 않는 한 SharedPrefs를 사용하고 싶지는 않지만 변경할 수는 없습니다. 재설정 할 수 있도록하려면 onDestroy()에 변수 또는 onPause()를 재설정하는 것이 좋습니다.

관련 문제