我在我的应用中使用callkit
和Pushkit
。使用callkit后我的应用程序在后台进行了一个红色视图显示在屏幕顶部,即使我已断开呼叫。
如何以编程方式删除此顶级视图。
我正在断开电话。使用此链接
答案 0 :(得分:4)
如果您使用的是CallKit
框架,则该栏应为绿色。红色通常用于表示没有CallKit
框架实现的SIP呼叫。但是,如果您说通话已结束且栏仍然存在,则表示您未使用CallKit
正确结束通话。这意味着它仍然表示活动的SIP呼叫。
当您UUID
以及使用reportNewIncomingCallWithUUID
举报传出来电时,您可以获得[[CXStartCallAction alloc] initWithCallUUID
来电。在该方法中,您可以创建并传递UUID
。
NSUUID *callUUID = [NSUUID UUID];
你必须跟踪它!
答案 1 :(得分:2)
这不是问题。它是iOS的默认行为。
当您进行电话呼叫,监控后台位置,录制音频,视频通话(例如:Skype)时,您可以看到类似的行为。
答案 2 :(得分:0)
您的音频会话仍是一个重新编码会话(如播放和录制音频会话),这就是红色栏仍位于顶部的原因。向用户表明您的应用正在录制音频,就像以前的评论中提到的一样(正常的iOS行为)。如果要在通话结束后删除红色条,请将音频会话切换为非重新编码,例如环境音频会话。
答案 3 :(得分:0)
红色横幅表示AVAudioSession
仍处于活动状态。使用CallKit的provider方法停用您的音频引擎
func provider(_ provider: CXProvider, didDeactivate audioSession: AVAudioSession)