2011-09-23 5 views
3

소셜 네트워킹 앱을 만들고 있습니다. 나는 그것에 로그 아웃 기능을 구현하고있다. 로그 아웃 버튼을 ..이 로그인 화면으로 이동한다 대신 지금 로그 아웃에 대한 다음 코드를 사용하고있는 홈 페이지 screen.I로 이동됩니다 클릭android에서 로그 아웃 기능

IntentFilter intentFilter = new IntentFilter(); 
    intentFilter.addAction("com.package.ACTION_LOGOUT"); 
    registerReceiver(new BroadcastReceiver() { 
    public void onReceive(Context context, Intent intent) { 

     System.out.println("onReceive Log out in progress"); 
      Intent intent1 = new Intent(getApplicationContext(),   Login.class); 
        startActivity(intent1); 
           finish(); 
       } 
      }, intentFilter); 

답변

4

은 단순히 당신의 로그인 활동에 의도를주고 넣어 의도의 플래그는

inten1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

는 모든 활동을 취소하고 UR 로그인 페이지로 이동합니다.

+0

내가 그 already.it 다시 instaed 로그인 화면 – ekjyot

+0

다음 활동에, 당신은 당신의 코드를 확인해야하는 탐색하는 동안 그럼 당신은 모든 활동을 마무리하는의 홈페이지로 이동되어 수행 한 활동을 시작할 때 finish() 행이 있는지보십시오. –

+0

ya 나는 활동을 마치고있다. – ekjyot

1

이것은 스택 문제입니다. 당신이 그것을 처리해야합니다. 내가 찾은 가장 좋은 해결책은 앱을 실행할 때 스택에 하나의 활동을 유지하고 로그인 화면 만 로그 아웃하면 스택에 저장되며 사용자가 뒤로 버튼을 누르면 홈 화면이 표시됩니다.

+0

이 작업을 수행하는 방법 ?? – ekjyot

+0

finish() 새로운 활동으로 이동했을 때의 활동 ...... –

6

로그 아웃을 위해 다음을 사용하십시오.

yourintent.setflag(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK); 

그것은 당신에게 세계의 어떤 종류의 사용, 내부 사용자의 로그인 상태를 추적 유지하고 나를 위해 일한 무엇

+0

나는 이것을 시도해 보았습니다. 그러나 다시 홈페이지 화면으로 이동 중입니다 – ekjyot

+0

홈페이지 활동에서 앞으로 나아갈 때 홈페이지를 끝내십시오. – amity

+0

안녕하세요. 제 대답을 업데이트 해주세요. 시도해보십시오. 작동하는지 확인하십시오. – amity

1

도움이 될 수 있습니다 : 모든 활동에 다음

public boolean loggedin = false; 

과, onResume를 오버라이드 (override)() 및 마침()을 클릭하십시오 :

@Override 
public void onResume() { 
    super.onResume(); 
    if (!loggedin) 
    finish(); 
} 
0

먼저 코드를 변경하십시오.

Intent intent = new Intent(getApplicationContext(),Login.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

그런 다음 finish()를 제거하십시오.은 브로드 캐스트 리시버 안에 있습니다. 행운을 빈다.

1

이 시도 :

Intent intent = new Intent(getApplicationContext(), Login.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
Toast.makeText(this, "Signed out", Toast.LENGTH_SHORT).show(); 
startActivity(intent); 
finish();