Ios 检测到会话当前是否处于活动状态,并加入而不是启动新会话

Ios 检测到会话当前是否处于活动状态,并加入而不是启动新会话,ios,google-cast,chromecast,Ios,Google Cast,Chromecast,我在iOS sender应用程序上面临chromecast应用程序会话管理的一个小问题 我希望能够在接收器上创建应用程序会话并开始播放。 在发送方上播放时关闭发送方应用程序。 再次打开应用程序并在同一设备上连接。 加入同一会话并重新控制接收器,而无需暂停/停止播放或重新启动整个会话 目前,我正在跟踪连接并执行的设备的会话ID - (BOOL)joinApplication:(NSString *)applicationID sessionID:(NSString *)sessionID; 但我

我在iOS sender应用程序上面临chromecast应用程序会话管理的一个小问题

我希望能够在接收器上创建应用程序会话并开始播放。 在发送方上播放时关闭发送方应用程序。 再次打开应用程序并在同一设备上连接。 加入同一会话并重新控制接收器,而无需暂停/停止播放或重新启动整个会话

目前,我正在跟踪连接并执行的设备的会话ID

- (BOOL)joinApplication:(NSString *)applicationID sessionID:(NSString *)sessionID;
但我无法区分新会议和旧会议。 有没有办法知道Chromecast设备连接到的当前会话id?
这就是要知道我是否应该调用join或launch application并启动一个新会话。

如果您只想在前一个会话中加入该会话,那么调用joinApplication并传递旧会话ID应该成功(如果它仍然是同一个会话)或者失败(如果是不同的会话,无论是来自同一个应用程序还是不同的应用程序)。这不是你想要的吗?

因此,解决方案是调用join,如果调用失败,则调用launch?我通过调用[\u manager launchWithAppID:kAppID RelaunchIfRequired:NO]来实现所需的效果,但尚未正确测试通过为该会话创建一个新的媒体频道。我将根据我发现的任何相关信息更新此问题。干杯!正如我所说的,如果您只想在应用程序正在运行时加入而不启动新应用程序,则需要使用joinApplication并传递会话ID。如果您想在应用程序正在运行时加入,而在应用程序未运行时启动,则使用launchApplication.launchApplication接受一个参数,即使应用程序已经在那里运行,也会强制重新启动;您可能不希望这样。