Package io.rong.imkit.manager

## Class OnLineStatusManager

- All Implemented Interfaces:

      public class OnLineStatusManager

  在线状态管理类

  Since:

    5.32.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---

  - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `static OnLineStatusManager` | `getInstance()` |
    `void` | `init()` | 初始化
    `void` | `onSignOut()` | 退出登录，清理缓存
    `void` | `addOnLineStatusListener(OnLineStatusListener listener)` | 添加在线状态变更监听接口
    `void` | `removeOnLineStatusListener(OnLineStatusListener listener)` | 移除在线状态变更监听接口
    `void` | `clearPriorityUserList()` | 清除优先级用户列表缓存
    `void` | `setOnlineStatusDataSource(OnlineStatusDataSource dataSource)` | 设置在线状态订阅数据源接口
    `void` | `removeOnlineStatusDataSource(OnlineStatusDataSource dataSource)` | 移除在线状态订阅数据源接口
    `Map<String, SubscribeUserOnlineStatus>` | `getUsersOnlineStatusCache()` | 获取缓存的在线状态。
    `void` | `fetchUsersOnlineStatus(String userId, boolean processSubscribedLimit)` | 根据用户ID列表拉取在线状态（好友 + 非好友） 注意： 1，该接口的结果只会通过 addOnLineStatusListener 设置的 OnLineStatusListener 返回,页面销毁时要调用 removeOnLineStatusListener.
    `void` | `fetchUsersOnlineStatus(List<String> userIdList)` | 根据用户ID列表拉取在线状态（好友 + 非好友） 注意： 1，该接口的结果只会通过 addOnLineStatusListener 设置的 OnLineStatusListener 返回,页面销毁时要调用 removeOnLineStatusListener.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

  - ### Method Detail

    - #### getInstance

           static OnLineStatusManager getInstance()

    - #### init

           void init()

      初始化

    - #### onSignOut

           void onSignOut()

      退出登录，清理缓存

    - #### addOnLineStatusListener

           void addOnLineStatusListener(OnLineStatusListener listener)

      添加在线状态变更监听接口

    - #### removeOnLineStatusListener

           void removeOnLineStatusListener(OnLineStatusListener listener)

      移除在线状态变更监听接口

    - #### clearPriorityUserList

           void clearPriorityUserList()

      清除优先级用户列表缓存

    - #### setOnlineStatusDataSource

           void setOnlineStatusDataSource(OnlineStatusDataSource dataSource)

      设置在线状态订阅数据源接口

    - #### removeOnlineStatusDataSource

           void removeOnlineStatusDataSource(OnlineStatusDataSource dataSource)

      移除在线状态订阅数据源接口

    - #### getUsersOnlineStatusCache

           Map<String, SubscribeUserOnlineStatus> getUsersOnlineStatusCache()

      获取缓存的在线状态。

    - #### fetchUsersOnlineStatus

           void fetchUsersOnlineStatus(String userId, boolean processSubscribedLimit)

      根据用户ID列表拉取在线状态（好友 + 非好友）

      注意：

      1，该接口的结果只会通过 addOnLineStatusListener 设置的 OnLineStatusListener 返回,页面销毁时要调用 removeOnLineStatusListener.

      2，使用 getUserOnlineStatus 如果有缓存则直接返回，否则会拉取在线状态，通过 OnLineStatusListener 返回。

    - #### fetchUsersOnlineStatus

           void fetchUsersOnlineStatus(List<String> userIdList)

      根据用户ID列表拉取在线状态（好友 + 非好友）

      注意：

      1，该接口的结果只会通过 addOnLineStatusListener 设置的 OnLineStatusListener 返回,页面销毁时要调用 removeOnLineStatusListener.

      2，使用 getUserOnlineStatus 如果有缓存则直接返回，否则会拉取在线状态，通过 OnLineStatusListener 返回。