onPause ความแตกต่างระหว่างการล็อคหน้าจอและสายเรียกเข้า

ฉันกำลังพัฒนาแอปพลิเคชั่นเสียง มันเล่นเสียงในพื้นหลังและฉันต้องการให้ปิดเมื่อมีสายเรียกเข้า แต่ไม่ใช่เมื่อหน้าจอล็อค โอกาสแรกของฉันคือการเรียก player.stop() บน onPause เพราะฉันคิดว่ามันจะได้ผลเมื่อแอปพลิเคชันขาเข้าหรือแอปพลิเคชันอื่นทำงานอยู่ด้านบน แต่ฉันพบว่าการล็อกหน้าจอยังเรียกเหตุการณ์ onPause นี้ด้วย

มีโอกาสที่จะได้รับสาเหตุของการเรียกนั้นหรือไม่?


person fernandojsg    schedule 03.11.2010    source แหล่งที่มา


คำตอบ (1)


ฉันเชื่อว่าบทความนี้มีสิ่งที่คุณกำลังมองหา: http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/

มีโค้ดบางส่วนที่อธิบายวิธีจัดการหากหน้าจอปิด ฯลฯ

หวังว่าจะช่วยได้บ้าง!

person Luke    schedule 03.11.2010
comment
สวัสดีลุค ขอบคุณสำหรับคำตอบของคุณ ฉันกำลังอ่านอยู่ แต่มันใช้งานไม่ได้ตามจุดประสงค์ของฉัน เพราะมันเรียกการออกอากาศหลังจาก onPause ดังนั้นฉันจึงไม่สามารถดำเนินการที่ถูกต้องใน onPause ได้ สิ่งที่ฉันทำคือการเพิกเฉยต่อ onPause และใช้ตัวฟัง android.intent.action.PHONE_STATE ดังนั้นในกรณีที่ฉันเข้าใจ ฉันจะหยุดเสียง ไม่เช่นนั้นฉันจะปล่อยให้เสียงเล่นต่อไป ขอบคุณมาก - person fernandojsg; 03.11.2010
comment
โอเค นั่นก็สมเหตุสมผลแล้ว ดีใจที่คุณจัดการทุกอย่างเรียบร้อยแล้ว! - person Luke; 04.11.2010