AddonSessionHandler

@PublicApi
public interface AddonSessionHandler



插件应用为会话提供的回调。

摘要

嵌套类型

说明 onSessionEnded 回调触发的原因。

描述向插件会话中的参与者分配或撤消的权限。

公共方法

default void

接收插件会话的最新协作开始状态。

default void

接收最新权限状态,这种权限定义允许用户参与插件会话的方式。

abstract void

在插件会话结束时响应。

公共方法

onCollaborationStartingStateUpdate

default void onCollaborationStartingStateUpdate(
    CollaborationStartingState collaborationStartingState
)

接收插件会话的最新协作开始状态。

插件必须有具体的实现,才能支持开始协作。

onParticipantPrivilegeChanged

default void onParticipantPrivilegeChanged(
    List<AddonSessionHandler.Privilege> privileges,
    List<AddonSessionHandler.Privilege> disabledPrivileges
)

接收最新权限状态,这种权限定义允许用户参与插件会话的方式。

插件必须有具体的实现,才能支持主机控件。

onSessionEnded

abstract void onSessionEnded(AddonSessionHandler.EndReason endReason)

在插件会话结束时响应。

  1. 除非使用同一处理程序实例构造了新的 AddonSession,否则该处理程序将不会收到其他调用。
  2. SDK 将进行清理。无需额外调用 endSession

实现示例:

if (EndReason.SESSION_ENDED_UNEXPECTEDLY.equals(endReason)) {
  log("Something happened unexpectedly");
  // Display UI to user in case they want to reconnect.
  return;
}

if (EndReason.MEETING_ENDED_BY_USER.equals(endReason)) {
  // The meeting is disconnected because the user left the meeting. Perform some
  // cleanup, then exit.
  this.onMeetingDisconnected();
  return;
}

if (EndReason.SESSION_ENDED_BY_USER.equals(endReason)) {
  // Disconnected because the user left the session from the Meet application. However, the
  // conference is still active in Meet. Perform some cleanup, then listen for a possible
  // rejoin event.
  this.onSessionDisconnected();
  return;
}
参数
AddonSessionHandler.EndReason endReason

会话结束的原因