ใน Android 7.0 ขึ้นไป อุปกรณ์จะแสดงแอปหลายแอปพร้อมกันได้โดยใช้หลายหน้าต่าง Android รองรับการกำหนดค่าหลายหน้าต่าง 3 แบบ ดังนี้
- รูปแบบอิสระช่วยให้ผู้ใช้ปรับขนาดแผงกิจกรรมแบบไดนามิกและแสดงแอปได้มากกว่า 2 แอปบนหน้าจอ
- การแยกหน้าจอเป็นการใช้งานแบบหลายหน้าต่างเริ่มต้น ซึ่งจะมีแผงกิจกรรม 2 แผงให้ผู้ใช้วางแอป
- การแสดงภาพซ้อนภาพ (PIP) ช่วยให้อุปกรณ์ Android สามารถเล่นเนื้อหาวิดีโอในหน้าต่างเล็กๆ ขณะผู้ใช้โต้ตอบกับแอปอื่นๆ
การใช้งาน
      ระบบจะเปิดใช้การรองรับหลายหน้าต่างโดยค่าเริ่มต้นใน Android 7.0 ขึ้นไป
      หากต้องการปิดใช้ ให้ตั้งค่า Flag config_supportsMultiWindow เป็น false ในไฟล์ config.xml ของอุปกรณ์
    
      ระบบจะปิดใช้หลายหน้าต่างโดยค่าเริ่มต้นในอุปกรณ์ที่มี RAM ต่ำทั้งหมด (อุปกรณ์ที่ประกาศ ActivityManager.isLowRam()) อุปกรณ์ที่มี RAM ต่ำจะไม่สนใจค่าของ Flag config_supportsMultiWindow
    
Freeform
      หลังจากเปิดใช้โหมดหลายหน้าต่างด้วย Flag config_supportsMultiWindow แล้ว ผู้ผลิตอุปกรณ์จะอนุญาตให้ใช้หน้าต่างรูปแบบอิสระได้ โหมดนี้มีประโยชน์มากที่สุดในอุปกรณ์ขนาดใหญ่ เช่น แท็บเล็ต
    
      หากต้องการรองรับโหมดรูปแบบอิสระ ให้เปิดใช้ฟีเจอร์ PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT ของระบบใน /android/frameworks/base/core/java/android/content/pm/PackageManager.java และตั้งค่า config_freeformWindowManagement เป็น true ใน config.xml.
    
    <bool name="config_freeformWindowManagement">true</bool>
    ใน Android 16 OEM สามารถรองรับการใช้หน้าต่างเดสก์ท็อปในอุปกรณ์สำหรับการกำหนดค่าหลายหน้าต่างรูปแบบอิสระได้โดยใช้เปิดใช้การใช้หน้าต่างเดสก์ท็อป
เปิดใช้หน้าต่างเดสก์ท็อป
ทำตามขั้นตอนต่อไปนี้เพื่อเปิดใช้การแบ่งหน้าจอเดสก์ท็อปในอุปกรณ์
- ตรวจสอบว่าอุปกรณ์รองรับการแบ่งหน้าจอแบบอิสระ
- 
      ตั้งค่า Flag การวางซ้อนการกําหนดค่า config_isDesktopModeSupportedเป็นtrueในconfig.xml<bool name="config_isDesktopModeSupported">true</bool>
- 
      หากต้องการเปิดใช้หน้าต่างรูปแบบอิสระบนจอแสดงผลภายในของอุปกรณ์ ให้ตั้งค่า Flag การซ้อนทับการกําหนดค่า config_canInternalDisplayHostDesktopsเป็นtrueในconfig.xmlระบบจะละเว้น Flag นี้หากconfig_isDesktopModeSupportedเป็นfalse<bool name="config_canInternalDisplayHostDesktops">true</bool>
เปิดใช้ขีดจำกัดงาน
ทำตามขั้นตอนต่อไปนี้เพื่อกำหนดค่าจำนวนงานสูงสุดที่รองรับในโหมดหน้าต่างบนเดสก์ท็อป
- เปิดใช้หน้าต่างเดสก์ท็อป
- 
        ตั้งค่า Flag การวางซ้อนการกําหนดค่า config_maxDesktopWindowingActiveTasksในconfig.xmlเป็นจํานวนงานสูงสุดที่รองรับ หากต้องการรองรับงานแบบไม่จํากัด ให้ตั้งค่า Flag เป็นค่าเริ่มต้น0<bool name="config_maxDesktopWindowingActiveTasks">4</integer>
แยกหน้าจอ
ประสบการณ์เริ่มต้นของการทำงานแบบหลายหน้าต่างคือโหมดแยกหน้าจอ ซึ่ง UI ของระบบจะแบ่งครึ่งกลางของอุปกรณ์ในแนวตั้งหรือแนวนอน ผู้ใช้สามารถปรับขนาดหน้าต่างได้โดยลากเส้นแบ่งจากด้านหนึ่งไปอีกด้านหนึ่งหรือจากบนลงล่าง ทั้งนี้ขึ้นอยู่กับการวางแนวของอุปกรณ์
หลังจากเปิดใช้การแยกหน้าจอแล้ว ผู้ผลิตอุปกรณ์จะเลือกเปิดใช้โหมดอิสระหรือ PIP ได้
Android 8.0 ขึ้นไปจะปรับปรุงการแยกหน้าจอโดยการบีบอัดตัวเปิดแอปเมื่อผู้ใช้แตะหน้าแรก ดูรายละเอียดการใช้งานได้ที่การโต้ตอบแบบแยกหน้าจอ
การแสดงภาพซ้อนภาพ
      หลังจากเปิดใช้โหมดหลายหน้าต่างด้วย Flag config_supportsMultiWindow แล้ว ผู้ผลิตอุปกรณ์จะรองรับการแสดงภาพซ้อนภาพได้ ซึ่งจะช่วยให้ผู้ใช้ดูวิดีโอขณะท่องเว็บหรือทำกิจกรรมอื่นๆ ได้ แม้ว่าฟีเจอร์นี้จะมุ่งเน้นไปที่อุปกรณ์ Android Television แต่อุปกรณ์ประเภทอื่นๆ อาจรองรับฟีเจอร์นี้
    
      หากต้องการรองรับ PIP ให้เปิดใช้ฟีเจอร์ระบบ PackageManager#FEATURE_PICTURE_IN_PICTURE ใน /android/frameworks/base/core/java/android/content/pm/PackageManager.java
    
ดูรายละเอียดการใช้งาน PIP เพิ่มเติมสำหรับอุปกรณ์ที่ใช้ Android 8.0 ขึ้นไปได้ที่หน้าการแสดงภาพซ้อนภาพ
UI ของระบบ
รองรับ UI ของระบบมาตรฐานทั้งหมดตามเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์เกี่ยวกับการทำงานแบบหลายหน้าต่าง
แอป
หากต้องการรองรับโหมดหลายหน้าต่างสําหรับแอปที่โหลดไว้ล่วงหน้า โปรดดูเอกสารประกอบสําหรับนักพัฒนาแอป Android
การตรวจสอบความถูกต้อง
หากต้องการตรวจสอบการติดตั้งใช้งานหลายหน้าต่าง ให้ทำการทดสอบ CTS ที่เกี่ยวข้องและทำตามวิธีการทดสอบสำหรับหลายหน้าต่าง
