概览
用于管理会话的类。
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: 添加的监听器。更多... | |
属性摘要 | |
GCKSession * | currentSession |
当前会话(如果有)。更多... | |
GCKCastSession * | currentCastSession |
当前的投放会话(如果有)。更多... | |
GCKConnectionState | connectionState |
当前会话连接状态。更多... | |
方法详细信息
- (instancetype) init |
默认初始化程序不可用。
- (BOOL) startSessionWithDevice: | (GCKDevice *) | device |
启动与指定设备的新会话。
这是一项异步操作。
- Parameters
-
device The device to use for this session.
- 返回
- 如果操作已成功启动,则为
YES
;如果当前已建立会话或操作无法启动,则为NO
。
- (BOOL) suspendSessionWithReason: | (GCKConnectionSuspendReason) | reason |
暂停当前会话。
这是一项异步操作。
- Parameters
-
reason The reason for the suspension.
- 返回
- 如果操作已成功启动,则为
YES
;如果当前未建立会话或操作无法启动,则为NO
。
- (BOOL) endSession |
结束当前会话。
这是一项异步操作。
- 返回
- 如果操作已成功启动,则为
YES
;如果当前未建立会话或操作无法启动,则为NO
。
- (BOOL) endSessionAndStopCasting: | (BOOL) | stopCasting |
结束当前会话,还可选择停止投射。
这是一项异步操作。
- Parameters
-
stopCasting Whether 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
-
listener The listener to add.
- (void) removeListener: | (id< GCKSessionManagerListener >) | listener |
移除之前使用 addListener: 添加的监听器。
- Parameters
-
listener The listener to remove.
属性详情
|
readnonatomicstrong |
当前会话(如果有)。
|
readnonatomicstrong |
当前的投放会话(如果有)。
|
readnonatomicassign |
当前会话连接状态。