• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    해결됨

로그아웃시 화면전환이 안되는데요.

19.09.13 19:11 작성 조회수 561

0

에뮬레이터로 실행시에 로그아웃시

콘솔에 아래와 같이 출력은 됩니다.

D/FirebaseAuth(32388): Notifying id token listeners about a sign-out event.

D/FirebaseAuth(32388): Notifying auth state listeners about a sign-out event.

그래서 에뮬레이터상에서 나갔다 들어오면 적용은되는데

로그아웃 버튼 누를시 바로 로그인페이지로 넘어가진 않더라구요.

깃허브에 올리신 소스랑 비교해봐도 똑같은데 (account_page)

뭔가 따로 설정해야 할것이 있는지 궁금합니다.

답변 6

·

답변을 작성해보세요.

1

십중팔구 3군데 중에 문제가 있는건데 RootPage는 문제 없어 보입니다.
나머지 두 곳을 확인 부탁드립니다.

LoginPage의 SignInButton 클릭 부분

https://github.com/junsuk5/flutter_insta_clon/blob/master/lib/login_page.dart

AccountPage의 133, 134 번줄 SignOut 부분

https://github.com/junsuk5/flutter_insta_clon/blob/master/lib/account_page.dart

RootPage까지 세 군데에 잘못된 부분이 있나 확인 해 보세요.

https://github.com/junsuk5/flutter_insta_clon/blob/master/lib/root_page.dart

0

아. 이 부분 잘못된 코드인데 해당 강좌 설명에도 제대로 안 되어 있고 오히려 잘못된 내용이 적혀있었네요.

방금 수정 내용 작성하였습니다. 감사합니다.

0

찾았습니다.

SignInButton(
Buttons.Google,
onPressed: () {
_handleSignIn().then((user){
print(user);
//Navigator.pushReplacement(context,
// MaterialPageRoute(builder: (context)=> TabPage(user))
//);
});
},
)

로그인 페이지에 사인인 버튼에 저거 되있어서 그런거 같네요.

강의 따라가면서 코딩하다보니 완성소스랑 비교를 안해서 ㅠㅠ.

주석처리하니 정상작동됩니다.

늦은시간에 바로 답변해주셔서 감사합니다. ^^

강의 잘보고 있습니다.

0

혹시몰라 루트페이지 로딩페이지까지 똑같이 만들고 적용해도 

화면전환이 안되네요 ㅠㅠ.

0

확인했습니다. 다만 강의에서 소스를 작성하여

메소드를 호출하진 않았는데 그게 문제가 된걸가요?

소스올려드립니다.

import 'package:flutter/material.dart';
import 'package:instagram_clone/login_page.dart';
import 'tab_page.dart';
import 'package:firebase_auth/firebase_auth.dart';

class RootPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return StreamBuilder<FirebaseUser>(
stream: FirebaseAuth.instance.onAuthStateChanged,
builder: (BuildContext context, AsyncSnapshot snapshot) {
if(snapshot.connectionState == ConnectionState.waiting){
print(Text('흠 여기타네'));
}
if(snapshot.hasData){
return TabPage(snapshot.data);
}
return LoginPage();

}
);
}
}

0

RootPage 에서 로그인 상태를 감지하여 화면을 변경해 줍니다. 이쪽으로 확인해 보시겠어요?

https://github.com/junsuk5/flutter_insta_clon/blob/master/lib/root_page.dart