SDKsAndroid
订阅用户在线状态
使用 subscribeUsersOnlineStatus() 订阅指定用户的在线状态。
List<String> userIDs = Arrays.asList("user_a", "user_b");
OpenIMClient.getInstance().userInfoManager.subscribeUsersOnlineStatus(
new OnBase<List<UsersOnlineStatus>>() {
@Override
public void onSuccess(List<UsersOnlineStatus> states) {
// 使用 states 显示在线状态
}
@Override
public void onError(int code, String error) {
// 处理错误
}
},
userIDs
);调用前应去除空值和重复 ID,并只订阅当前业务需要展示的用户。成功 callback 返回初始 List<UsersOnlineStatus>,每项包含 userID、status 和 platformIDs。
状态字段
| 字段 | 说明 |
|---|---|
userID | 目标用户 ID。 |
status | 在线状态值,具体枚举含义以服务端契约为准。 |
platformIDs | 当前在线的平台 ID 列表。 |
用户在线状态变化时,可通过 OnUserListener 接收 onUserStatusChanged:
@Override
public void onUserStatusChanged(UsersOnlineStatus status) {
// 处理在线状态变化
}订阅操作只建立或更新订阅集合。用户不再需要某个用户的在线状态时,通过取消订阅用户状态取消订阅。
这个页面有帮助吗?