22 ตุลาคม 2559

[Android Dev Tips] วิธีการเปิด Freeform Mode บน Android 7.0 Nougat ขึ้นไป



        Multi Window เป็นฟีเจอร์ใหม่ที่ถูกเพิ่มเข้ามาใน Android 7.0 Nougat จึงทำให้อุปกรณ์แอนดรอยด์ในอนาคตสามารถแอปฯหลายๆตัวพร้อมๆกันได้ โดยที่ Multi Window นั้นถูกแบ่งออกเป็น 2 รูปแบบด้วยกันคือ Split-Screen Mode กับ Freeform Mode ซึ่งมีรูปแบบในการทำงานที่แตกต่างกันไป

        แต่เจ้าของบล็อกกลับพบว่าในตอน (ที่เขียนบทความ) นี้ อุปกรณ์แอนดรอยด์ที่ได้ใช้ Android 7.0 นั้นมีแต่ Nexus และทุกรุ่นกลับไม่ได้เปิดใช้งาน Freeform Mode ซะงั้น!!

Freeform Mode?

        Freeform Mode เป็นการทำให้แอปฯแต่ละตัวแสดงเป็นหน้าต่างย่อยอยู่บนหน้าจอ สามารถย้ายตำแหน่ง ปรับขนาดได้ตามใจชอบ หรือก็คือให้ความรู้สึกเหมือนใช้งาน Windows นั่นเอง โดยจะแสดงผลแยกต่างหาก


        ซึ่งเจ้าของบล็อกพบว่า Android 7.0 Nougat บน Nexus ทุกตัวนั้นเปิดให้ใช้งาน Multi Window ก็จริง แต่ว่าใช้งานได้เฉพาะแค่ Split-Screen Mode เท่านั้น ไม่สามารถใช้งาน Freeform Mode ได้

        ดังนั้นก็เลยไปหาข้อมูลว่าเปิดใช้งานยังไง และได้ข้อมูลมาดังนี้

เปิด USB Debugging เพื่อใช้งาน ADB 

        ขั้นตอนนี้คงไม่มีอะไรมาก เพราะผู้ที่หลงเข้ามาอ่านส่วนมากเป็นนักพัฒนาอยู่แล้ว และคงเปิด USB Debugging บนเครื่องเพื่อใช้พัฒนาแอปฯอยู่แล้ว ดังนั้นไม่อธิบายขั้นตอนนี้ละกันเนอะ

ใช้ ADB Command เพื่อเปิดใช้งาน Freeform Mode

        การที่ Nexus ใช้งาน Freeform Mode ไม่ได้ ก็เพราะถูกตั้งค่าให้ปิดการใช้งาน Freeform Mode ซึ่งผู้ที่หลงเข้ามาอ่านสามารถเปิดใช้งานได้ด้วยคำสั่ง ADB ดังนี้

adb shell settings put global enable_freeform_support 1

Restart เครื่องให้เรียบร้อย

        เพื่อให้คำสั่งล่าสุดมีผลจะต้อง Restart เครื่องก่อน จะใช้คำสั่ง ADB หรือกด Restart เองก็ได้

adb reboot

        เท่านี้ก็เป็นอันเสร็จเรียบร้อย

ทดลองใช้งาน 

        การใช้งาน Freeform Mode จะคล้ายๆกับ Split-Screen Mode ตรงที่ต้องเปิดแอปฯขึ้นมาก่อน แล้วกดปุ่ม Recent App หรือ App Switch (แล้วแต่จะเรียก) จากนั้นให้กดค้างที่แถบ Title ของแอปฯที่ต้องการ (ถ้าเป็น Split-Screen Mode จะให้กดค้างแล้วลากไปวางในฝั่งที่ต้องการ) แล้วจะมีปุ่มไอคอน Freeform Mode แสดงขึ้นมาข้างๆปุ่มปิดแอปฯ



        เพียงเท่านี้ก็สามารถใช้งาน Freeform Mode ได้แล้วจ้า


สรุป

        ก็ไม่รู่หรอกนะว่าจะปิด Freeform Mode เพราะอะไร แต่เรื่องของเรื่องคืออยากจะทดสอบแอปฯว่าทำงานบน Freeform Mode ได้ปกติมั้ย ก็ให้ใช้วิธีสั่งผ่าน ADB แบบนี้เอาเนอะ

แหล่งข้อมูลอ้างอิง

        • HowTo: Enable freeform window mode w/o unlocking bootloader or installing custom recovery [Reddit]




เหล่าพันธมิตรแอนดรอยด์

Devahoy Layer Net NuuNeoI The Cheese Factory Somkiat CC Mart Routine Artit-K Arnondora Kamonway Try to be android developer Oatrice Benz Nest Studios Kotchaphan@Medium Jirawatee@Medium Travispea@Medium