ใน Android 13 ฟีเจอร์การสตรีมแอปช่วยให้โทรศัพท์
สตรีมแอปไปยังอุปกรณ์ที่เชื่อมต่อ และช่วยให้อุปกรณ์เหล่านั้นโต้ตอบกับ
แอปได้ COMPANION_DEVICE_APP_STREAMING
บทบาทใหม่ช่วยให้แอปสร้างและจัดการพร็อกซีสำหรับอุปกรณ์ระยะไกลที่เชื่อมต่อเพื่อ
สตรีมแอปจากอุปกรณ์ในเครื่องไปยังอุปกรณ์ระยะไกลได้ แอปที่มีบทบาท
COMPANION_DEVICE_APP_STREAMINGจะขอรับสิทธิ์เพื่อสร้างจอแสดงผลเสมือน
เปิดแอปบนจอแสดงผลนั้น แล้วสตรีมวิดีโอของแอปที่เปิดไปยัง
อุปกรณ์อื่นได้ นอกจากนี้ แอปที่มีบทบาทเป็นผู้ถือครองยังสามารถแทรกเหตุการณ์อินพุตและไมโครโฟน
ที่ได้รับจากอุปกรณ์ระยะไกลกลับไปยังอุปกรณ์ในเครื่องได้ด้วย
ราวกับว่าอุปกรณ์นั้นเชื่อมต่อเป็นอุปกรณ์ต่อพ่วง
สถาปัตยกรรม
ตั้งแต่ Android 13 เป็นต้นไป โปรแกรมจัดการอุปกรณ์เสมือนจริงและCompanion Device Manager (CDM) ใหม่จะเป็นองค์ประกอบหลักที่ใช้สร้างสรรค์เพื่อรองรับการสตรีมแอปและการโต้ตอบกับอุปกรณ์ที่เชื่อมต่อระยะไกล
โปรแกรมจัดการอุปกรณ์เสมือนจริง
การสตรีมแอปทำงานโดยใช้ประโยชน์จากจอแสดงผลเสมือน โปรแกรมจัดการอุปกรณ์เสมือนจะสร้างจอแสดงผลเสมือนที่แยกจากจอแสดงผลหลักที่มองเห็นได้ เมื่อผู้ใช้ยินยอมให้เริ่มสตรีมแอป ระบบจะเปิดแอปในจอแสดงผลเสมือนหรือโอนไปยังจอแสดงผลเสมือน ระบบจะโอนเนื้อหาของจอแสดงผลเสมือนในสตรีมวิดีโอไปยังอุปกรณ์ที่เชื่อมต่อเพื่อแสดง
Virtual Device Manager มี API ที่ช่วยให้สามารถสร้าง ลงทะเบียน และจัดการอินสแตนซ์ VirtualDevice ได้
อินสแตนซ์ VirtualDevice เป็นพร็อกซีสำหรับอุปกรณ์ที่เชื่อมต่อและความสามารถของอุปกรณ์
อินสแตนซ์ VirtualDevice ช่วยให้อุปกรณ์ที่เชื่อมต่อรับ
แสดง และโต้ตอบกับสตรีมแอปขาเข้าได้โดยทำดังนี้
- การสร้างอินสแตนซ์
VirtualDisplayที่มีไว้เพื่อแสดงบนจอแสดงผลของอุปกรณ์ที่เชื่อมต่อ - แทรกสตรีมเสียงจากระยะไกล เช่น จากไมโครโฟนของอุปกรณ์ที่เชื่อมต่อ ลงในอุปกรณ์ในพื้นที่เพื่อเล่น
- การแทรกเหตุการณ์อินพุตระยะไกล เช่น จากแป้นพิมพ์ของอุปกรณ์ที่เชื่อมต่อ ลงในอุปกรณ์ในเครื่องเพื่อเล่น
Companion Device Manager
CDM จะจัดการสถานะการเชื่อมต่อและบังคับใช้ข้อกำหนดด้านบทบาทที่ ต้องมีเพื่อเปิดใช้การสตรีมแอป
ภาพต่อไปนี้แสดงการโต้ตอบระหว่างอุปกรณ์ในเครื่องและอุปกรณ์ระยะไกลระหว่างการสตรีมแอป
รูปที่ 1 การโต้ตอบระหว่างอุปกรณ์ในพื้นที่และอุปกรณ์ระยะไกลขณะสตรีมแอป
การใช้งานบทบาทการสตรีมแอปที่ใช้ร่วมกัน
OEM สามารถใช้แอปที่มีบทบาท COMPANION_DEVICE_APP_STREAMING เพื่อ
มอบประสบการณ์การใช้งานข้ามอุปกรณ์ที่สมบูรณ์และปลอดภัยในอุปกรณ์ของตน
หากต้องการสร้างอุปกรณ์เสมือนจริงเพื่อเปิดใช้การสตรีมแอป แอปต้องมีบทบาทเป็นผู้ถือบทบาทของบทบาท COMPANION_DEVICE_APP_STREAMING เมื่อได้รับบทบาทแล้ว แอปจะได้รับสิทธิ์ CREATE_VIRTUAL_DEVICE ซึ่งช่วยให้แอปสร้างอุปกรณ์เสมือนจริงได้ ผู้มีบทบาทจะต้องใช้การสตรีมแอปโดยสร้างอินสแตนซ์ VirtualDevice ที่ทำหน้าที่เป็นพร็อกซีสำหรับอุปกรณ์ที่เชื่อมต่อ VirtualDevice คลาส
มีเมธอดที่ช่วยให้ดึงพื้นผิวที่คอมโพสิตของจอแสดงผลเสมือน
ออกมาได้ ซึ่งเหมาะสำหรับการสตรีมไปยังอุปกรณ์อื่น คลาส VirtualDevice
ยังมี API สำหรับแทรกเหตุการณ์อินพุตที่เกิดขึ้นในอุปกรณ์ระยะไกลลงใน
อุปกรณ์ภายใน ซึ่งช่วยให้แอปที่ทำงานในอุปกรณ์ภายในปรากฏราวกับว่า
ทำงานบนอุปกรณ์ระยะไกลโดยตรง
ทำตามขั้นตอนต่อไปนี้เพื่อใช้บทบาทการสตรีมแอปที่ใช้ร่วมกัน
สร้างแอปที่ขอสิทธิ์
REQUEST_COMPANION_PROFILE_APP_STREAMINGในไฟล์ Manifestแจ้งให้ผู้ใช้ให้สิทธิ์ของแอปเพื่อทำการสตรีมแอป
สร้างอินสแตนซ์ CDM
AssociationRequestเพื่อขอรับบทบาทCOMPANION_DEVICE_APP_STREAMINGแอปจะได้รับสิทธิ์CREATE_VIRTUAL_DEVICEเมื่อได้รับบทบาทเรียกใช้
VirtualDeviceManager#create()เพื่อสร้างอินสแตนซ์VirtualDeviceเมื่อใช้อินสแตนซ์VirtualDeviceแอปจะสร้างและจัดการจอแสดงผลเสมือนและอินพุตเสมือนได้เปิดใช้ Intent รอดำเนินการของการแจ้งเตือนบนจอแสดงผลเสมือนและสร้างการจับภาพวิดีโอของจอแสดงผลนั้น
สร้างการเชื่อมต่อกับอุปกรณ์ที่เชื่อมต่อและสตรีมจอแสดงผลเสมือนไปยังอุปกรณ์ที่เชื่อมต่อ
แทรกเหตุการณ์อินพุตจากอุปกรณ์ที่เชื่อมต่อกลับไปยังอุปกรณ์ภายใน ผ่าน
VirtualDeviceAPIเมื่อผู้ใช้ปิดแอปสตรีมมิงในอุปกรณ์ระยะไกล ให้สิ้นสุดสตรีมและปิดอินสแตนซ์
VirtualDeviceณ จุดนี้ แอปสตรีมมิงก่อนหน้านี้จะทำงานอยู่เบื้องหลังในอุปกรณ์ภายในและปิดการเชื่อมต่อหากจำเป็น ให้รอสัญญาณเพิ่มเติมจากอุปกรณ์ที่เชื่อมต่อเพื่อรีสตาร์ทการสตรีมแอป
แอปมีหน้าที่เชื่อมต่อกับอุปกรณ์ระยะไกล รายงานสถานะการเชื่อมต่อไปยัง CDM และบังคับใช้ข้อกำหนดด้านความปลอดภัยตามที่อธิบายไว้ใน CDD
ข้อกำหนดสำหรับผู้มีบทบาท COMPANION_DEVICE_APP_STREAMING
CDM จะให้บทบาท COMPANION_DEVICE_APP_STREAMING เมื่อผู้ใช้เชื่อมโยงแอปสตรีมมิงกับอุปกรณ์ บทบาทนี้เชื่อมโยงกับโปรไฟล์อุปกรณ์ จึงมีการควบคุมบางอย่างเกี่ยวกับแอปที่เพิ่มลงใน Play Store ซึ่งตรงกับโปรไฟล์นี้ได้ ดูรายการข้อกำหนดของบทบาท COMPANION_DEVICE_APP_STREAMING ได้ที่บทบาท
Android
โปรดติดต่อผู้ติดต่อของ Google หากต้องการข้อมูลเพิ่มเติม
ความสามารถของผู้ดำรงบทบาท COMPANION_DEVICE_APP_STREAMING
หากต้องการสตรีมแอป บทบาท COMPANION_DEVICE_APP_STREAMING จะถือว่า
แอปของผู้ถือบทบาทมีความสามารถและลักษณะการทำงานต่อไปนี้
- สร้างและจัดการการเชื่อมต่อกับอุปกรณ์อื่นๆ
- สร้างและจัดการจอแสดงผลเสมือนที่เชื่อถือได้ รวมถึงจอแสดงผลที่ปลดล็อกแล้ว โดยทำดังนี้
- เริ่มกิจกรรมบนจอแสดงผลเสมือน
- แทรกเหตุการณ์ที่เกิดขึ้นในแอปสตรีมมิงในอุปกรณ์ที่เชื่อมต่อกลับไปยังอุปกรณ์ในเครื่อง เช่น การเล่นการโต้ตอบแบบสัมผัสบนแท็บเล็ตที่พิกัดเดียวกันบนโทรศัพท์
- บันทึกข้อมูลเสียงจากแอปสตรีมมิง
- แทนที่สตรีมไมโครโฟนของอุปกรณ์ในเครื่องด้วยสตรีมไมโครโฟนของอุปกรณ์ที่เชื่อมต่อขณะที่แอปสตรีมมิงกำลังใช้ไมโครโฟน
- แทนที่สตรีมจากกล้องของอุปกรณ์ในพื้นที่ด้วยสตรีมจากกล้องของอุปกรณ์ที่เชื่อมต่อ ขณะที่แอปสตรีมมิงกำลังใช้กล้อง
- จัดการและสตรีมการแจ้งเตือนจากอุปกรณ์ในพื้นที่ไปยังอุปกรณ์ที่เชื่อมต่อ และดำเนินการกับการแจ้งเตือน
- สตรีมข้อมูลเมตาจากอุปกรณ์ในเครื่อง เช่น รายชื่อแอปที่พร้อมใช้งานใน อุปกรณ์ในเครื่อง ไปยังอุปกรณ์ที่เชื่อมต่อ
- ขอรับการยืนยันอุปกรณ์