共用方式為


在應用程式中開啟子母畫面

當使用者進行通話時,全螢幕 UI 可能會阻礙使用者在應用程式中進行多工處理。 有兩種方式可讓使用者在應用程式中進行多工處理:

  • 讓使用者選取 [上一頁] 按鈕,並返回上一個畫面。 當使用者仍在通話時,不會顯示通話 UI。
  • 開啟子母畫面。

本文說明如何在 Azure 通訊服務 UI 程式庫中開啟子母畫面。 子母畫面功能是系統提供的,受限於裝置上的功能支援,包括 CPU 負載、RAM 可用性和電池狀態。

必要條件

開啟功能

如需詳細資訊,請參閱開放原始碼 Android UI 程式庫範例應用程式程式碼

子母畫面設定

若要啟用多工和子母畫面,請使用 CallCompositeBuilder.multitasking 搭配 enableMultitaskingenableSystemPictureInPictureWhenMultitasking 建構函式參數來設定 CallCompositeMultitaskingOptions

val callComposite: CallComposite =
            CallCompositeBuilder()
            .multitasking(CallCompositeMultitaskingOptions(true, true))
            .build()

enableMultitasking 設定為 true 時,就會出現 [上一頁] 按鈕。

顯示 [上一頁] 按鈕的Android通話畫面螢幕快照。

當使用者點選 [返回] 按鈕 [呼叫 UI] 時,如果已設定,則會顯示 [圖片中的圖片] 檢視。

當 多任務為 ON 時 CallComposite,呼叫活動會在專用的工作中啟動。 在工作歷程記錄中,使用者會看到兩個畫面:一個用於應用程式的活動,另一個用於通訊服務通話活動。


若要以程式設計方式輸入多任務,如果設定顯示圖片中的圖片,請呼叫 sendToBackground 方法。

callComposite.sendToBackground()

若要以程式設計方式讓使用者回到呼叫活動,請使用 bringToForeground 函式:

callComposite.bringToForeground(context)

如需詳細資訊,請參閱開放原始碼 iOS UI 程式庫範例應用程式程式碼

必要條件

執行應用程式的實體 iOS 裝置。 iOS 模擬器不支持圖片內功能。

子母畫面設定

若要啟用多工和子母畫面,請使用 CallCompositeOptions 建構函式參數 enableMultitaskingenableSystemPiPWhenMultitasking

注意

部署目標早於 iOS 16 的應用程式必須具有 com.apple.developer.avfoundation multitasking-camera-access 權利,才能在子母畫面模式中使用相機。

let callCompositeOptions = CallCompositeOptions(
            enableMultitasking: true,
            enableSystemPictureInPictureWhenMultitasking: true)

let callComposite = CallComposite(withOptions: callCompositeOptions)

enableMultitasking 設定為 true 時,就會出現 [上一頁] 按鈕。

iOS 呼叫畫面的螢幕快照,其中顯示 [上一頁] 按鈕。

當使用者點選 [返回] 按鈕 [呼叫 UI] 時,如果已設定,則會顯示 [圖片中的圖片] 檢視。


若要以程式設計方式輸入或結束多工作處理,請使用 isHidden 屬性:

// Close calling UI and display PiP
callComposite.isHidden = true
// Displaye calling UI and close PiP
callComposite.isHidden = false

下一步