GCKSessionManager 类

GCKSessionManager 类参考文档

概览

用于管理会话的类。

startSessionWithDevice: (GCKSessionManager) 方法用于创建具有给定 GCKDevice 的新会话。该会话管理器使用该设备类型的 GCKDeviceProvider 构建一个新的 GCKSession 对象,然后系统会向此对象委托所有会话请求。

GCKSessionManager 负责自动恢复已暂停的会话(即,当应用转到后台、应用崩溃或被用户强制终止时恢复会话)。应用恢复或重启后,会话管理器会稍等片刻,待暂停会话的设备的设备提供商再次发现该设备后,如果它检测到,则会尝试重新连接到该设备并重新建立会话。

如果应用创建了 GCKUICastButton,但未提供目标和选择器,用户点按该按钮即会显示默认的“投射”对话框,并会根据用户选择或断开设备的连接情况自动开始和停止会话。不过,如果应用提供自己的设备选择/控制对话框界面,则应该直接使用 GCKSessionManager 来创建和控制会话。

无论应用是否使用 GCKSessionManager 控制会话,都能附加 GCKSessionManagerListener 以接收会话事件通知,还可以使用 KVO 监控 connectionState 属性以跟踪当前会话生命周期状态。

辛塞
3.0

此类继承 NSObject。

实例方法摘要

(instancetype) - init
 默认初始化程序不可用。更多...
 
(BOOL) - startSessionWithDevice:
 启动与指定设备的新会话。更多...
 
(BOOL) - suspendSessionWithReason:
 暂停当前会话。更多...
 
(BOOL) - endSession
 结束当前会话。更多...
 
(BOOL) - endSessionAndStopCasting:
 结束当前会话,还可选择停止投射。更多...
 
(BOOL) - hasConnectedSession
 用于测试某个会话当前是否由此会话管理器管理且当前已连接。更多...
 
(BOOL) - hasConnectedCastSession
 用于测试 Cast 会话当前是否由此会话管理器管理且当前已连接。更多...
 
(void) - addListener:
 添加用于接收通知的监听器。更多...
 
(void) - removeListener:
 移除之前使用 addListener: 添加的监听器。更多...
 

属性摘要

GCKSessioncurrentSession
 当前会话(如果有)。更多...
 
GCKCastSessioncurrentCastSession
 当前的投放会话(如果有)。更多...
 
GCKConnectionState connectionState
 当前会话连接状态。更多...
 

方法详细信息

- (instancetype) init

默认初始化程序不可用。

- (BOOL) startSessionWithDevice: (GCKDevice *)  device

启动与指定设备的新会话。

这是一项异步操作。

Parameters
deviceThe device to use for this session.
返回
如果操作已成功启动,则为 YES;如果当前已建立会话或操作无法启动,则为 NO
- (BOOL) suspendSessionWithReason: (GCKConnectionSuspendReason reason

暂停当前会话。

这是一项异步操作。

Parameters
reasonThe reason for the suspension.
返回
如果操作已成功启动,则为 YES;如果当前未建立会话或操作无法启动,则为 NO
- (BOOL) endSession

结束当前会话。

这是一项异步操作。

返回
如果操作已成功启动,则为 YES;如果当前未建立会话或操作无法启动,则为 NO
- (BOOL) endSessionAndStopCasting: (BOOL)  stopCasting

结束当前会话,还可选择停止投射。

这是一项异步操作。

Parameters
stopCastingWhether casting of content on the receiver should be stopped when the session is ended.
返回
如果操作已成功启动,则为 YES;如果当前未建立会话或操作无法启动,则为 NO
- (BOOL) hasConnectedSession

用于测试某个会话当前是否由此会话管理器管理且当前已连接。

如果会话状态为 GCKConnectionStateConnected,此值将为 YES

- (BOOL) hasConnectedCastSession

用于测试 Cast 会话当前是否由此会话管理器管理且当前已连接。

如果会话状态为 GCKConnectionStateConnected 且会话为投放会话,此值将为 YES

- (void) addListener: (id< GCKSessionManagerListener >)  listener

添加用于接收通知的监听器。

Parameters
listenerThe listener to add.
- (void) removeListener: (id< GCKSessionManagerListener >)  listener

移除之前使用 addListener: 添加的监听器。

Parameters
listenerThe listener to remove.

属性详情

- (GCKSession*) currentSession
readnonatomicstrong

当前会话(如果有)。

- (GCKCastSession*) currentCastSession
readnonatomicstrong

当前的投放会话(如果有)。

- (GCKConnectionState) connectionState
readnonatomicassign

当前会话连接状态。