2013-04-18 3 views
-1

내 앱에는 두 가지 활동 클래스가 있습니다. 첫 번째 활동 사용자는 로그인 할 수 있고 두 번째 활동 사용자는 프로젝트 세부 정보를 볼 수 있습니다. 세션을 로그 아웃 버튼과 함께 유지하고 있습니다. 내 앱에서 사용자가 두 번째 활동에서 뒤로 버튼을 클릭하면 앱 섹션 (기본 메뉴를 의미 함)으로 이동하고 사용자가 내 앱 아이콘을 클릭 한 후 첫 번째 활동이 아닌 두 번째 활동으로 이동하지만 아직 로그 아웃하지 않았습니다.
I want user should go to second activity not first activity if user already login. 시도했지만 여전히 작동하지 않고 시도하고있는 입니다.
어떻게하면 위의 것들을 할 수있는 사람이 나에게 대답을 제안하시기 바랍니다.Android : 다시 버튼으로 세션을 유지하는 방법?

+0

다음은 집에 돌아가는 주 앱을 의미합니다 ....... 그게 무슨 뜻입니까? 앱을 종료 하시겠습니까? – stinepike

+0

예에서 앱을 종료합니다. – Nilesh

답변

0

현재 사용자의 상태를 SharedPreferences으로 저장해야합니다. 사용자가 로그인 한 경우 된 setContentView()를 호출하기 전에 사용자의 로그인 활동의 에서 onCreate 방법에서

, 당신은 확인할 수 있습니다.이 사실 열고 새로운 활동 만약 startActivity()와 소원을 경우 현재 활동에 ()으로 전화하십시오. 그냥 정상적으로 계속하지 않는다면 setContentView() 호출하십시오.

그녀는 내부 된 SharedPreferences를 명시하면 로그인 활동이 표시되지 않습니다이 방법은 로그인.

+0

좋은 작업 fine.thanks – Nilesh

0

먼저 활동을 표시 할 필요가 없습니다로 설정됩니다. 그러나 사실 항상 주요 활동이 있습니다. 직접 로그인 활동을 시작할지 또는 직접 사용자 컨텐츠를 표시할지 여부를 결정해야합니다. 로그인 또는 컨텐트 활동을 시작하자 마자 주요 활동의 finish()를 사용할 수 있으므로 사용자가 다시()을 누르면 기본 활동이 다시 표시되지 않습니다.

MainActivity extends Activity 
{ 
public void onCreate() 
{ 
    if isLogged() 
    startActivity(new Intent(ContentActivity ...)); 
    else 
    startActivity(new Intent(LoginActivity...)); 
    finish() 
} 

LoginActivity extends Activity 
{ 
    ... 
    public void onLoginSuccess(String username) 
    { 
    // called from dialog OK button and login process success 
    startActivity(new Intent(ContentActivity ...)); 
    finish(); 
    } 
} 
+0

나를위한 좋은 해결책이지만 왜 당신은 onLoginSuccess를 씁니까? MainActivity는 사용자 로그인 정보를 확인하는 데 충분하다고 생각합니다. 나는 isLogged() startActivity (새로운 의도 (SecondActivity ...)) 괜찮 으면 그냥 쓴? – Nilesh

관련 문제