CarPlay:从 Spotify 等移动设备的后台杀死应用程序时,如何从 CarPlay 装置关闭应用程序?
Posted
技术标签:
【中文标题】CarPlay:从 Spotify 等移动设备的后台杀死应用程序时,如何从 CarPlay 装置关闭应用程序?【英文标题】:CarPlay: How to close app from CarPlay unit when killing app from background in mobile device like Spotify? 【发布时间】:2021-08-30 06:33:07 【问题描述】:我正在开发 Audio CarPlay 应用程序。最近我想出了一个场景,当我连接到 CarPlay 并从移动设备上杀死应用程序时,我仍然可以在 CarPlay 设备上看到应用程序处于活动状态。因此,当用户从移动设备的后台杀死应用程序时,有任何方法可以从 CarPlay 单元关闭应用程序。当从移动设备中杀死应用程序时,Spotify 正在从 CarPlay 单元中关闭应用程序。
【问题讨论】:
CarPlay 应用程序不应再运行(尤其是如果您仍在使用 MediaPlayer 框架)。 Spotify 还在 CarPlay 最近运行的应用程序上显示应用程序图标,但如果您点击它,它会重新启动应用程序。 【参考方案1】:当我创建一个测试 CarPlay 应用程序并在模拟器上运行它时,它的 CarPlay 场景会在手机上关闭主场景后自动关闭。因此,我不确定该建议是否有效。
无论如何,建议是:
-
收听
SceneDelegate.sceneDidDisconnect
或AppDelegate.application(_:didDiscardSceneSessions:)
使用 NotificationCenter 发送自定义通知,让 CarPlay 场景知道主场景已关闭
使用UIApplication.requestSceneSessionDestruction
请求关闭 CarPlay 场景
【讨论】:
感谢您的回答。对于 CarPlay,我没有遵循基于场景的 CarPlay 实施方法,而是使用 MPPlayableContentManager 在 Car 上呈现内容。我在每次应用启动时执行 CarPlay 代码。关闭主场景后是否还需要关闭 CarPlay 场景?以上是关于CarPlay:从 Spotify 等移动设备的后台杀死应用程序时,如何从 CarPlay 装置关闭应用程序?的主要内容,如果未能解决你的问题,请参考以下文章