ใน Android 13 ฟีเจอร์การสตรีมแอปช่วยให้โทรศัพท์สตรีมแอปไปยังอุปกรณ์ที่เชื่อมต่อ และให้อุปกรณ์เหล่านั้นโต้ตอบกับแอปได้ บทบาท COMPANION_DEVICE_APP_STREAMING
ใหม่ช่วยให้แอปสร้างและจัดการพร็อกซีสำหรับอุปกรณ์ระยะไกลที่เชื่อมต่อเพื่อ
สตรีมแอปจากอุปกรณ์ในเครื่องไปยังอุปกรณ์ระยะไกลได้ แอปที่มีบทบาท COMPANION_DEVICE_APP_STREAMING สามารถขอรับสิทธิ์ในการสร้างจอแสดงผลเสมือน เปิดแอปในจอแสดงผลดังกล่าว แล้วสตรีมวิดีโอของแอปที่เปิดไปยังอุปกรณ์อื่นได้ นอกจากนี้ แอปที่มีบทบาทนี้ยังสามารถแทรกเหตุการณ์อินพุตและไมโครโฟนที่ได้รับจากอุปกรณ์ระยะไกลกลับเข้าไปในอุปกรณ์ในเครื่องได้ด้วย ราวกับว่าอุปกรณ์ระยะไกลนั้นเชื่อมต่อเป็นอุปกรณ์ต่อพ่วง
สถาปัตยกรรม
ตั้งแต่ Android 13 เป็นต้นไป โปรแกรมจัดการอุปกรณ์เสมือนจริง ใหม่และ Companion Device Manager (CDM) จะเป็นส่วนประกอบสำคัญในการรองรับการสตรีมแอปและการโต้ตอบกับ อุปกรณ์ระยะไกลที่เชื่อมต่อ
โปรแกรมจัดการอุปกรณ์เสมือนจริง
การสตรีมแอปทำงานโดยใช้ประโยชน์จาก จอแสดงผลเสมือน โปรแกรมจัดการอุปกรณ์เสมือนจริงจะสร้างจอแสดงผลเสมือนที่แยกจากจอแสดงผลหลักที่มองเห็นได้ เมื่อผู้ใช้ยินยอมให้เริ่มสตรีมแอป ระบบจะเปิดหรือโอนแอปไปยังจอแสดงผลเสมือน จากนั้นระบบจะโอนเนื้อหาของจอแสดงผลเสมือนในสตรีมวิดีโอไปยังอุปกรณ์ที่เชื่อมต่อเพื่อแสดง
โปรแกรมจัดการอุปกรณ์เสมือนจริงมี 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 ที่รอดำเนินการของการแจ้งเตือนในจอแสดงผลเสมือนและสร้างการบันทึกวิดีโอของจอแสดงผลดังกล่าว
สร้างการเชื่อมต่อกับอุปกรณ์ที่เชื่อมต่อและสตรีมจอแสดงผลเสมือนไปยังอุปกรณ์ที่เชื่อมต่อ
แทรกเหตุการณ์อินพุตจากอุปกรณ์ที่เชื่อมต่อกลับเข้าไปในอุปกรณ์ในเครื่องผ่าน API ของ
VirtualDeviceเมื่อผู้ใช้ปิดแอปสตรีมมิงในอุปกรณ์ระยะไกล ให้หยุดสตรีมและลบอินสแตนซ์
VirtualDeviceณ จุดนี้ แอปสตรีมมิงก่อนหน้านี้จะทำงานในเบื้องหลังในอุปกรณ์ในเครื่องและการเชื่อมต่อจะปิดลงหากจำเป็น ให้รอสัญญาณเพิ่มเติมจากอุปกรณ์ที่เชื่อมต่อเพื่อรีสตาร์ทการสตรีมแอป
แอปมีหน้าที่รับผิดชอบในการเชื่อมต่อกับอุปกรณ์ระยะไกล รายงานสถานะการเชื่อมต่อไปยัง CDM และบังคับใช้ข้อกำหนดด้านความปลอดภัยตามที่อธิบายไว้ใน the 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 จะถือว่าแอปที่มีบทบาทนี้มีความสามารถและพฤติกรรมต่อไปนี้
- สร้างและจัดการการเชื่อมต่อกับอุปกรณ์อื่นๆ
- สร้างและจัดการจอแสดงผลเสมือนที่เชื่อถือได้ ซึ่งรวมถึงจอแสดงผลที่ปลดล็อกแล้ว โดยทำดังนี้
- เริ่มกิจกรรมในจอแสดงผลเสมือน
- แทรกเหตุการณ์ที่เกิดขึ้นในแอปสตรีมมิงในอุปกรณ์ที่เชื่อมต่อกลับไปยังอุปกรณ์ในเครื่อง เช่น เล่นการโต้ตอบแบบสัมผัสในแท็บเล็ตที่พิกัดเดียวกันในโทรศัพท์
- บันทึกข้อมูลเสียงจากแอปที่สตรีม
- แทนที่สตรีมไมโครโฟนของอุปกรณ์ในเครื่องด้วยสตรีมไมโครโฟนของอุปกรณ์ที่เชื่อมต่อขณะที่แอปที่สตรีมใช้ไมโครโฟน
- แทนที่สตรีมจากกล้องของอุปกรณ์ในเครื่องด้วยสตรีมจากกล้องของอุปกรณ์ที่เชื่อมต่อขณะที่แอปสตรีมมิงใช้กล้อง
- จัดการและสตรีมการแจ้งเตือนจากอุปกรณ์ในเครื่องไปยังอุปกรณ์ที่เชื่อมต่อ รวมถึงดำเนินการกับการแจ้งเตือน
- สตรีมข้อมูลเมตาจากอุปกรณ์ในเครื่อง เช่น รายการแอปที่พร้อมใช้งานในอุปกรณ์ในเครื่อง ไปยังอุปกรณ์ที่เชื่อมต่อ
- ขอการยืนยันอุปกรณ์