Print
Details: Category: บทความแอนดรอยด์ | Published: 07 April 2018 | Hits: 7113

โจทย์ เป็นอย่างนี่นะครับ

ปกติ หลังจากที่ เรา 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 ได้ครับ