โจทย์ เป็นอย่างนี่นะครับ
ปกติ หลังจากที่ เรา Register ได้แล้ว เราต้องเข้าสู่สถานะ Login อัตโนมัต และ เมื่อมีสถานะ Login จะไปที่ ServiceActivity เลย และถ้าไม่มีการยืนยันการ SingOut นะไม่กลับมา สถานะ LogOut สรุปง่ายๆ คือ ถ้าอยู่ใน สถานะ LogOut ให้เปิด MainActivity
แต่ถ้า อยู่ใน สถานะ Login ให้เปิดแอพแล้วข้ามเข้าไปที่ Service Activity เลย แบบนี่
นั้นหมายความว่า เราจะต้องหา สถานะ ที่เราอยู่ให้ได้ก่อน
มาสเตอร์ เพิ่ม โค้ด พวกนี่เข้าไปที่ MainFragment เพื่อทำการตรวจสอบก่อนว่า สถานะ Login เป็นอย่างไร ? ถ้า Login อยู่ให้แสดงข้อความ Login Status ที่ Log Cat
เมื่อ MainFragment ทำงานจะมีการรายงาน Status Login แบบนี้
ที่หน้าเปล่าๆ ของ ServiceActivity มาสเตอร์ เพิ่ม Toolbar ที่มี Image Menu เพื่อคลิกจะได้ LogOut
และกำหนดให้ firebaseAuth.signOut()
ไปเพิ่ม การ Intent ไปที่ Service Activity ถ้า ตรวจพบ สถานะ Login ที่ MainFragment
ส่วนที่ RegisterFragment ให้ เมื่อ Register สำเร็จให้ Intent ไปที่ Service เลย ที่นี่ เรามาลองทดสอบกัน
มาสเตอร์ คลิก. New Register เพื่อสมัครสมาชิค
เลือกรูปภาพ และ กรอก EditText ให้ครับ คลิก สมัคร
จะได้ ServiceActivity แบบนี่
มาสเตอร์ ปิดแอพและ เปิดใหม่
เปิดเลย
ตัวแอพจะไปเปิด ที่ ServiceActivity เลย เพราะ MainFragment จับ Login Status ได้ แต่เอาใหม่ มาเตอร์ คลิกที่ Sign Out และลองเปิดใหม่
เห็นไหม ? เมื่อ MainFragment จับ LogOut Stautus จะเปิด MainFragment สำหรับใครที่งง มาพบกันที่ คอร์สแอนดรอยด์ เชื่อมต่อ Firebase ได้ครับ