簡體   English   中英

從鎖定屏幕接聽電話后顯示自定義 UI

[英]Show custom UI after answer call from lock screen

我開發了一個呼叫應用程序,例如 Whatapp 和 Skype。 我的問題是,當我的手機被鎖定並且另一個用戶在鎖定屏幕上給我打電話時,我會收到一條通知,如果我滑動通知,則會自動收到電話。(當然使用 callkit)

我只是想知道,當我的手機解鎖時,是否有可能看到 callkitUI 屏幕與另一個用戶給我打電話時相同的屏幕?

如果有人知道有關它的詳細信息、解決方案或任何信息,那將非常有幫助。

我已經檢查了以下文件。

蘋果通話套件

使用 PUSHKIT + CALLKIT 提升您的 VOIP 應用程序用戶體驗

iOS 版 CallKit 教程

這是我的代碼。

func provider(_ provider: CXProvider, perform action: CXAnswerCallAction) {

    action.fulfill()

    print("=================CXAnswerCallAction============")

    self.window = UIWindow(frame: UIScreen.main.bounds)
    let storyboard = UIStoryboard(name: "VoipAcceptUser", bundle: nil)    
    let initialViewController = storyboard.instantiateViewController(withIdentifier: "VoipAcceptUser")     
    self.window?.rootViewController = initialViewController
    self.window?.makeKeyAndVisible()

}

當應用程序在前台運行時,系統不會向您的應用程序提供他們的呼叫屏幕。 您必須自己提供呼叫屏幕。

通過使用CallKit框架,完全由系統決定是否顯示來電屏幕。 在我所知道的只有 3 個實例中,系統為您的應用程序提供了一個呼叫屏幕。

系統為 VoIP 呼叫提供呼叫屏幕的已知實例:

  1. 當電話收到來自 VoIP 推送通知服務的 VoIP 呼叫時。 通過使用 CallKit 框架,您需要將新的來電屏幕報告給CXProviderDelegate對象。

  2. 當電話有活動的常規(蜂窩)呼叫並收到 VoIP 呼叫時。 如果您在 CXProviderConfiguration 中設置了您的 VoIP 應用程序允許處理多個呼叫,則此方法有效。 如果您允許呼叫分組和呼叫保持,系統將為用戶提供 UI 來處理常規呼叫和 VoIP 呼叫之間的切換

  3. 當電話有一個活動的常規呼叫,並且用戶從后台開始撥出 VoIP 呼叫時,這樣,系統呼叫屏幕將保持打開狀態以向用戶提供 UI 以處理多個呼叫操作(如果您允許在您的系統中處理多個呼叫,則為應用程序)

總結是您需要自己為 VoIP 應用程序提供 UI,至少是呼出和活動呼叫屏幕,並根據呼叫狀態相應地更新 UI。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM