Описание
 Используйте API chrome.system.storage для запроса информации об устройстве хранения данных и получения уведомлений при подключении и отсоединении съемного устройства хранения данных.
Разрешения
system.storageТипы
EjectDeviceResultCode
Перечисление
 "успех"  "in_use"  "no_such_device"  "отказ"
 Команда извлечения выполнена успешно — приложение может предложить пользователю извлечь устройство. 
 Устройство используется другим приложением. Извлечение не удалось; пользователю не следует извлекать устройство, пока другое приложение не завершит работу с ним. 
 Такое устройство неизвестно. 
 Команда на выброс не удалась.
StorageAvailableCapacityInfo
Характеристики
- доступная мощностьчисло Доступная емкость запоминающего устройства в байтах. 
- идентификаторнить Скопированный ididфункции getAvailableCapacity.
StorageUnitInfo
Характеристики
- емкостьчисло Общий объем дискового пространства, в байтах. 
- идентификаторнить Временный идентификатор, однозначно идентифицирующий устройство хранения данных. Этот идентификатор будет постоянным в рамках одного запуска одного приложения. Он не будет постоянным идентификатором между различными запусками приложения или между разными приложениями. 
- имянить Наименование единицы хранения. 
- типТип носителя единицы хранения. 
StorageUnitType
Перечисление
 "зафиксированный"  "съемный"  "неизвестный"
 Хранилище имеет фиксированный носитель, например, жесткий диск или SSD. 
 В качестве носителя информации можно использовать съемный носитель, например USB-флеш-накопитель. 
 Тип хранилища неизвестен.
Методы
ejectDevice()
chrome.system.storage.ejectDevice(
id: string,
callback?: function,
): Promise<EjectDeviceResultCode>
Извлечение съемного запоминающего устройства.
Параметры
- идентификаторнить 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(result: EjectDeviceResultCode) => void - результат
 
Возврат
- Обещание< EjectDeviceResultCode > Хром 91+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
getAvailableCapacity()
chrome.system.storage.getAvailableCapacity(
id: string,
callback?: function,
): Promise<StorageAvailableCapacityInfo>
 Получите доступную ёмкость устройства хранения с указанным id . id — это временный идентификатор устройства из StorageUnitInfo. 
Параметры
- идентификаторнить 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(info: StorageAvailableCapacityInfo) => void - информация
 
Возврат
- Обещание< ИнформацияОДоступнойЁмкостиХранилища > - Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
getInfo()
chrome.system.storage.getInfo(
callback?: function,
): Promise<StorageUnitInfo[]>
Получите информацию о хранилище из системы. Аргумент, передаваемый в функцию обратного вызова, — массив объектов StorageUnitInfo.
Параметры
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(info: StorageUnitInfo[]) => void - информация
 
Возврат
- Обещание< StorageUnitInfo []> Хром 91+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
События
onAttached
chrome.system.storage.onAttached.addListener(
callback: function,
)
Срабатывает при подключении к системе нового съемного носителя.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(info: StorageUnitInfo) => void - информация
 
onDetached
chrome.system.storage.onDetached.addListener(
callback: function,
)
Срабатывает при отсоединении съемного носителя от системы.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(id: string) => void - идентификаторнить