Работа с устройствами USB в Android
В недавней статье на Geektimes в комментариях возник вопрос о поддержке в ОС Android периферии, подключенной к шине USB. Действительно, большинство вендорского ПО, к примеру, для работы с принтерами и МФУ, поддерживает только подключение по сети. Однако это не означает, что в самой ОС Android нет такой возможности — это означает лишь то, что большинство устройств не имеют полноценного USB хоста, и далеко не все имеют поддержку OTG. По сети же могут работать абсолютно все без исключения.
Большинство устройств на Android при наличии порта OTG поддерживают на уровне системы (ядра Linux или стандартных компонентов Android) следующие классы устройств:
- Устройства ввода — клавиатуры, мыши, джойстики (HID)
- Накопители (Mass Storage)
Несколько реже:
- Сотовые модемы
- Сетевые адаптеры
- Вебкамеры
Хабы поддерживаются при наличии полноценных хост-портов, но не поддерживаются на портах OTG.
Подробнее список устройств, поддерживаемых на уровне ядра Linux, можно получить в sysfs:
$ ls /sys/bus/usb/drivers
Если же модуль в принципе доступен в исходниках ядра Linux, но не включен в Android — не стоит рассчитывать на то, что его получится собрать и расставить на все целевые системы.
Однако, начиная с Android 3.1 (API 12), в системе содержатся средства, достаточные для поддержки на уровне приложения любой USB периферии. Данные средства описаны в разделе USB Host руководства по Android API. Здесь же я хочу привести примеры реальной работы с некоторыми видами устройств.
Права доступа
Как и для прочих действий, Android требует, чтобы приложение получило разрешение на доступ к USB периферии. Существует 2 способа получить такое разрешение:
- Задекларировать список устройств в AndroidManifest
- Явно показать пользователю диалог “разрешить”
Поскольку для моих задач лишние вопросы к пользователю были нежелательны, я использовал первый способ.
Итак, нам необходимо добавить в манифест следующее:
А в res/xml/device_filter.xml вписать следующее:
Отмечу, что хотя общепринято указывать VID:PID в 16-ричной системе счисления, здесь они должны быть указаны в десятичной. В документации заявляется, что возможно указание только класса, без VID и PID, но у меня это не стало работать.
Принтеры
На примере принтера я покажу, как непосредственно использовать API android.hardware.usb. На уровне передачи данных все принтеры поддерживают стандартый класс USB устройств:
Класс предельно простой. В рамках этого класса устройство должно поддерживать:
- Обязательный bulk out endpoind для отправки данных на принтер
- Опциональный bulk in endpoind для получения статуса принтера
- 3 управляющих запроса
Код, приведенный ниже, предоставляет функциональность, аналогичную устройству /dev/usb/lp в Linux. Далее нам нужен фильтр, преобразующий исходный документ в пакет данных, понятный конкретной модели принтера. Но это тема иной статьи. Как один из вариантов — можно собрать ghostscript с помощью NDK.
Для работы с устройством нам в первую очередь нужно:
1. Найти устройство. В примере для простоты я ищу первый попавшийся:
2. Получить endpoint’ы:
3. Непосредсвенно открыть устройство:
4. После этого мы можем читать и писать в устройство:
5. По завершении работы — закрыть устройство:
Преобразователи USB-Serial
В отличие от притеров, преобразователи USB-Serial гораздо менее стандартизированы. Существует несколько распространенных чипов, для которых существенно отличается установка параметров последовательного порта — битрейта, чётности и проч. К счастью, есть библиотека github.com/mik3y/usb-serial-for-android, поддерживающая практически все существующие чипы. Библиотека полностью скрывает USB API, сводя все необходимые действия к минимуму вызовов с минимумом параметров.
1. Найти и открыть устройство:
2. Установить параметры последовательного порта:
3. Читать и писать в порт:
4. По завершении работы — закрыть порт:
Резюме
Надеюсь, что мне удалось показать, что работа с USB периферией достаточно проста и логична. Безусловно, реализация протоколов некоторых конкретных устройств не блещет простотой — но это проявится в любой системе в одинаковой степени.
Все приведенные примеры я взял из реального проекта, лишь исключил очевидные проверки, оставив только ключевые строки.
Источник
USB OTG File Manager
вкл. 21 Март 2017 . Опубликовано в Системные утилиты
USB OTG File Manager для Nexus позволяет открывать и копировать файлы с любого USB запоминающего устройства с файловой системой FAT32 или NTFS, используя USB OTG порт. Вы можете копировать файлы на любое запоминающее устройство и управлять ими: редактировать имена файлов, добавлять каталоги и удалять файлы.
Вы также можете управлять своими файлами во внутренней памяти устройства. Приложение разрабатывалось для Nexus устройств, у которых есть порт «OnTheGo». Но также возможна работа на любом устройстве с OTG портом USB и Android 4.0+
Инструкция
- 1. устанавливаем программу USB OTG File Manager.
- 2. подключаем флешку к своему устройству через OTG кабель.
- 3. разрешаем приложению стать по умолчанию для открывания флешек.
- 4. нажимаем в программе CONNECT и ждем соединения.
- 5. пользуемся программой.
- 6. перед выходом из программы нажимаем специальную кнопку отключения (смотрим скрин).
Доп. информация
- 1. при подключении и первом запуске разрешаем приложению стать по умолчанию для открывания флешек.
- 2. с файловой системой FAT32 доступно чтение и запись. С файловой системой NTFS доступно только чтение.
- 3. поддерживается открытие файлов непосредственно с устройства USB.
- 4. приложение может предложить поставить дополнительно для проигрывания музыки Simple Music Player. Ставить или нет — решать вам. Я не ставил.
- 5. приложения имеет расширенный режим (Advanced Mode) для продвинутых. Если вы не уверенны в своих действиях, то используйте обычный ружим (Normal Mode).
- 6. приложение не передает и не принимает никаких данных из интернета, что хорошо.
Скачать приложение для работы с флешкой — USB OTG File Manager for Nexus на Андроид вы можете по ссылке ниже.
Разработчик: KyuuDrod
Платформа: Android 4.0 и выше
Язык интерфейса: Русский (RUS)
Состояние: Full (Полная версия)
Root: Не нужен
Источник
Usb file для android
Наш мобильный телефон стал основным инструментом, с помощью которого можно выполнять множество задач – от использования офисных приложений до получения отличных фотографий даже в неблагоприятных условиях и при слабом освещении. Вот почему нам может понадобиться передавать файлы между нашим смартфоном и компьютером.
Сегодня мы расскажем вам, какие из лучших приложений мы можем найти для передачи файлов с нашего устройства Android на компьютер.
Send Anywhere (File Transfer)
Send Anywhere – это приложение, с помощью которого мы можем легко, быстро и без ограничений обмениваться файлами между мобильным телефоном и компьютером. Передача происходит без изменения исходного файла через соединение Wi-Fi Direct с улучшенным шифрованием (256 бит) и 6-значным паролем.
Передача файлов WiFi
С помощью данного приложения легко и удобно передавать файлы между устройствами Android и ПК в любое время и в любом месте. Делитесь фотографиями, видео, музыкой, установленными приложениями и любыми другими файлами неограниченного размера через соединение P2P WiFi. Вы можете перенести все файлы на ваш компьютер, используя FTP-сервер. Приложение полностью бесплатно и без ограничений.
Sweech — Wifi File Transfer
Приложение Sweech — Wifi File Transfer позволит нам легко обмениваться файлами с любым компьютером, планшетом или мобильным телефоном без необходимости использования какого-либо кабеля, поскольку нам потребуется только соединение Wi-Fi и навигационная система.
Кроме того, это приложение совместимо с любыми устройствами, таким как ПК, MAC, телефоны Android и iPhone. Размер файла не ограничен, и у вас будет неограниченное количество файлов.
USB Driver для Android
С приложением USB Driver для Android у нас будет коллекция USB-драйверов от основных производителей устройств, таких как Samsung, LG, Sony и т. д. Все драйвера совместимы с Windows XP, Vista, 7, 8, 10. Приложение имеет драйверы для более 800 производителей, а также универсальные драйверы ADB для Windows, Linux и Mac через MTP.
Для передачи файлов с телефона нужно просто открыть USB-драйвер для Android и подключить телефон через USB-кабель к вашему компьютеру. Затем выбираете соединение MTP и после этого можете перенести все файлы на ваш компьютер.
Итак, это лучшие приложения для передачи файлов между устройствами Android и компьютером. Если вам известно о каких-либо других подобных приложениях, пожалуйста, напишите об этом в комментариях.
Источник
Usb file для android
Краткое описание:
Одним из самых популярных и простых способов передачи файлов между Android и Mac является использование приложения от Google под названием Android File Transfer.
Описание:
Android File Transfer — файл-менеджер для доступа к файлам Andoid с компьютеров Mac от Google. Автоматически обнаруживает подключенное устройство и открывает окно для передачи данных.
Android File Transfer — Быстро и просто
Устанавливаем Android File Transfer
Одним из самых популярных и простых способов передачи файлов между Android и Mac является использование приложения от Google под названием Android File Transfer. В то время как поисковый гигант первоначально разработал это приложение для передачи файлов между Android и Chrome OS, программное обеспечение было оптимизировано и для пользователей MacOS.
Вот как использовать Android File Transfer. Для начала загрузите приложение и на своем Mac дважды щелкните загруженный файл, чтобы установить программу. После распаковки, перетащите ярлык Android File Transfer в папку «Приложения». Подключите устройство Android к компьютеру Mac с помощью кабеля USB, открывайте программу и после завершения процесса синхронизации устройств, ваш смартфон или планшет будет отображаться как обычный каталог. Просто скопируйте файл в нужное место на вашем устройстве Mac. При этом, используя Android File Transfer, вы можете легко переносить файлы и папки как с Android на Mac, так и в обратном порядке.
Важно отметить, что Android File Transfer для Mac не будет работать с новыми MacBook, оснащенными портами USB-Type C. Только если у вас нет Google Pixel портом USB-type C. В противном случае вам нужно будет использовать переходник. Но не беспокойтесь! Мы также рассмотрим и беспроводные методы для передачи файлов с Android на Mac.
Android File Transfer – это специализированный инструмент для подключения телефонов на базе ОС Android к устройствам с OS X. Разработан и поддерживается компанией Google. Распространяется программа в виде скачиваемого dmg-образа и в дальнейшем может использоваться для подключения различных устройств на базе ОС Android. На сегодняшний день это лучший инструмент для приема и передачи данных со смартфона на Mac.
КАК РАБОТАЕТ ANDROID FILE TRANSFER
Для инсталляции Android File Transfer скачайте файл .dmg и запустите на компьютере с OS Mac. Сразу же после запуска программа будет добавлена в общий список установленных приложений.
ANDROID FILE TRANSFER
После запуска программы Android File Transfer на экране появится окошко со всеми папками, файлами и подкаталогами вашего устройства. К сожалению, двухоконный режим, как в Total Commander, не поддерживается, поэтому придется открыть рядом окно Finder для передачи файлов между смартфоном и «саком». Теперь вы сможете в несколько кликов скопировать важные файлы на компьютер, загрузить музыку или фильмы, либо перелить на компьютер фотографии и видео, снятые мобильником.
Программа работает быстро, автоматически открывается при подключении устройства к компьютеру, показывает все файлы и папки, включая подкатегории.
В век беспроводных технологий к USB относятся с пренебрежением, а зря. Традиционный кабель обеспечивает самую высокую скорость передачи данных. Сложность может возникнуть лишь с USB‑портами, которых не найти на современных Mac. Но в этом случае помогут переходники с USB‑C или другие способы из нашей статьи.
Загрузите утилиту Android File Transfer с официального сайта разработчиков ОС и установите на Mac, перетащив иконку приложения в папку «Программы».
Подключите Android‑устройство к Mac с помощью USB‑кабеля и, сделав свайп вниз, выберите «Зарядка через USB» → «Передача файлов».
Android File Transfer: подключите Android-устройство к Mac Android File Transfer: выберите «Передача файлов»
Запустите Android File Transfer и перейдите в менеджере файлов в нужный раздел памяти: внутренний накопитель или SD‑карту.
Запустите Android File Transfer
Выберите файлы, которые необходимо перенести на Mac, и перетащите их на рабочий стол или в любую другую папку.
Android File Transfer: выберите файлы и перетащите их
Таким же образом данные можно скопировать с компьютера на мобильный гаджет.
Browse and transfer files between your Mac computer and your Android device.
Supports macOS 10.7 and higher.
By downloading, you agree to our Terms of Service and Privacy Policy.
How to use it
Download the app.
Open AndroidFileTransfer.dmg.
Drag Android File Transfer to Applications.
Use the USB cable that came with your Android device and connect it to your Mac.
Double click Android File Transfer.
Browse the files and folders on your Android device and copy files.
Требуется Android: macOSX 10.7 и выше
Русский интерфейс: Да
Скачать:
Версия: 1.0.12 AndroidFileTransfer.rar ( 3.53 МБ )
Сообщение отредактировал iMiKED — 01.12.20, 13:45
Источник