ใน 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
แยกหน้าจอ
ประสบการณ์เริ่มต้นของการทำงานแบบหลายหน้าต่างคือโหมดแยกหน้าจอ ซึ่ง UI ของระบบจะแบ่งครึ่งกลางของอุปกรณ์ในแนวตั้งหรือแนวนอน ผู้ใช้สามารถปรับขนาดหน้าต่างได้โดยลากเส้นแบ่งจากด้านหนึ่งไปอีกด้านหนึ่งหรือจากบนลงล่าง ทั้งนี้ขึ้นอยู่กับการวางแนวของอุปกรณ์
หลังจากเปิดใช้การแยกหน้าจอแล้ว ผู้ผลิตอุปกรณ์จะเลือกเปิดใช้โหมดอิสระหรือ PIP ได้
Android 8.0 ขึ้นไปจะปรับปรุงการแยกหน้าจอโดยการบีบอัดตัวเปิดแอปเมื่อผู้ใช้แตะหน้าแรก ดูรายละเอียดการใช้งานได้ที่การโต้ตอบแบบแยกหน้าจอ
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>
การแสดงภาพซ้อนภาพ
หลังจากเปิดใช้โหมดหลายหน้าต่างด้วย 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 ที่เกี่ยวข้องและทำตามวิธีการทดสอบสำหรับหลายหน้าต่าง
สำหรับ Android 7.0 การทดสอบอยู่ในขั้นตอนการพัฒนา
/platform/cts/hostsidetests/services/activitymanager/src/android/server/cts
ใน Android 8.0 ขึ้นไป การทดสอบจะอยู่ในส่วน
/platform/cts/tests/framework/base/activitymanager/src/android/server/am