В дополнение к ответам Алекса и Сукена, если у пользователя есть один сеанс, вы можете сохранить идентификаторы устройства на карте:
String userAgent = (see Suken's response)
String deviceId = request.getParameter("REQUEST_PARAMETER_DEVICE_ID");
Map<String, String> devices = request.getSession().getAttribute("SESSION_ATTRIBUTE_DEVICES");
if (devices == null) {
devices = new HashMap<String, String>();
request.getSession().setAttribute("SESSION_ATTRIBUTE_DEVICES", devices);
}
devices.put(userAgent, deviceId);
Это гарантирует, что несколько устройств останутся видимыми и не будут перезаписаны.Вам все еще нужно выставлять их, как объяснил Алекс, если вы хотите получить к ним доступ на уровне приложения.