- 8 способов использовать USB On-the-Go на Android-устройствах
- Scoped Storage in Android 10 & Android 11
- What was the problem with earlier storage ?
- This is how it is solved now
- What all permissions app need to access the files from scoped storage?
- Access media files from shared storage | Android Developers
- To provide a more enriched user experience, many apps allow users to contribute and access media that’s available on an…
- Access documents and other files from shared storage
- On devices that run Android 4.4 (API level 19) and higher, your app can interact with a documents provider, including…
- What does it mean for you?
- Microsoft Mobile Engineering
- Что такое и как работает функция OTG на устройствах Android
- Что это такое?
- Какие устройства можно подключать через OTG?
- Какие смартфоны поддерживают технологию?
- Как проверить, поддерживает ли мой смартфон эту функцию?
8 способов использовать USB On-the-Go на Android-устройствах
Некоторые смартфоны и планшеты на базе Android поддерживают функцию USB On-the-Go (или OTG), благодаря которой к ним можно напрямую подключать различные периферийные устройства. Какие именно — читайте в нашей статье.
Проверить, поддерживает ли ваш смартфон или планшет функцию USB On-the-Go, можно с помощью специального приложения — USB OTG Checker. Если устройство успешно пройдет проверку, для подключения периферии вам потребуется специальный кабель или адаптер. Некоторые производители комплектуют ими свои гаджеты, а другие экономят и не кладут его в коробку. Во втором случае вам придется самостоятельно покупать адаптер (в китайских магазинах они стоят около 1 доллара, а в российских — до 500 рублей).
Внешний носитель информации
Самое очевидно использование USB OTG — подключение внешнего носителя (флешки или жесткого диска). Имейте в виду, что обычно смартфоны и планшеты распознают только носители с файловой системой FAT32. Некоторые производители уже выпускают флешки с двумя портами — стандартным USB и «смартфонно-планшетным» Micro USB.
Мышь или клавиатура
Смартфоны с OTG поддерживают подключение проводной клавиатуры и мыши либо наборов с Bluetooth-модулями (в том числе сдвоенными, где для использования обоих манипуляторов нужен всего один передатчик).
Большинство принтеров с USB-портами поддерживают печать со смартфонов и планшетов. Для этого нужно перевести мобильное устройство в режим камеры или накопителя (в зависимости от требований принтера). На более новых моделях принтеров имеется поддержка беспроводной подачи файлов на печать.
Если вам требуется вывести со смартфона громкий звук, вы можете запитать от него колонки с USB-кабелем. Звук должен получиться хорошим — обычно такие колонки выдают до 4 ватт.
Геймпад
Android-устройствам доступны беспроводные геймпады, но если такого у вас не имеется, вы можете попробовать подключить к OTG-порту проводной. Контроллеры от Xbox 360 работают без проблем на большинстве устройств, а джойстики от PlayStation требуют root-доступа. Также нужно учитывать, что далеко не все игры обладают поддержку управления геймпадом.
USB-фонарик или вентилятор
К USB-порту, отдающему питание, можно подключить фонарик и вентилятор вроде тех, которые продаются в Fix Price. Правда, нужно учитывать, что они потребляют довольно много энергии, поэтому быстро разряжают аккумулятор.
Модем для мобильного интернета
В продаже все еще встречаются планшеты без сотовой связи, и единственный способ добавить ее поддержку — подключить 3G-модем. К сожалению, далеко не все модемы совместимы с планшетами — модель для конкретного устройства придется подбирать на специализированных форумах вроде 4PDA или XDA-Dev.
USB-хаб
В том случае, если вам потребуется подключить к смартфону несколько периферийных устройств (например, флешку, клавиатуру, мышь и модем), придется воспользоваться USB-хабом. Пассивный хаб не справится с такой задачей, подойдет только с активным питанием.
Источник
Scoped Storage in Android 10 & Android 11
A secure and advanced app storage system for Android.
A controversial storage access change, slated for Android 10, becomes mandatory for Android 11. This blog talks about scoped storage, How we can access it and what does it mean for our app?
Before Android 10, storage was divided into private storage and shared storage. Private storage’s(android/data/
) access and contribution was limited to owner app alone. Apart from private storage, rest of the storage was called shared storage which is where all the media and non-media files were being stored. Any app with storage permission would be able to access this part of storage.
What was the problem with earlier storage ?
Limited access: Most of the apps do not need the access of whole storage since their use case are limited to certain types of files or files they own. One such use case can be a grocery app or an e-commerce app which needs storage access only to ask user to upload their profile picture.
Security: With storage access, an app can access a document as vulnerable as your bank statement or personal files. How would you like that?
Data organisation: Data/Files related to an app was scattered at multiple places in Shared Storage. If you have to uninstall the app and you want to clear all the corresponding data, that would not come easy.
This is how it is solved now
With Android 10, Google started to restructure the storage and change the way app accesses the storage so that all the mentioned problems can be eliminated. This storage division is called scoped storage.
Idea behind scoped storage was to divide whole storage into multiple blocks. An app would be provided access to the storage blocks which has relevant data for the app. In addition, system will bind storage to owner apps so that it becomes easier for the system to locate relevant files, corresponding to an app. This would also help to remove app specific data once app is uninstalled unless user does not want to.
This is how storage is divided now:
This storage remains same as before. Its app’s own private directory (/app/data/
) where app has unlimited access to read and write.
This is further divided into Media and Download collection. Media collection stores Image, Audio and Video files. Download collection would take care of non-media files.
What all permissions app need to access the files from scoped storage?
Earlier there was one permission to read all the files and another to write. Now with scoped storage, access is allotted based upon storage type and the ownership of the content.
1. App will have unlimited access to their internal and external storage for both read & write operation.
2. App will have unrestricted access to contribute files ( Media & Non-Media) as long as the file is stored in organised collection.
3. Media collection contributed by other apps can be accessed using ‘READ_STORAGE_PERMISSION’ permission. ‘WRITE_STORAGE_PERMISSION’ permission will be deprecated from next version and if used, will work same as ‘READ_STORAGE_PERMISSION’.
4. Non Media files contributed by other apps can be accessed using Storage access framework API. No explicit permission is needed. This does not mean that App can get access to all the directories ( Root, android/Data , Download directory etc.). Once user grants access to it, it will be complete access. (Read, Modify, Delete).
This is how we can access non-media Files. Here i am trying to access PDF file.
If App wants to select a custom folder, intent ACTION_OPEN_DOCUMENT can be replaced with ACTION_OPEN_DOCUMENT_TREE. ACTION_OPEN_DOCUMENT_TREE is introduced in android 11. This access will be valid till user reboots device. If app wants to persist the access, while accessing URI using content resolver , content resolver has to call takePersistableUriPermission method.
If App wants to create a file such as an email app saving attachment, intent can be replaced with ACTION_CREATE_DOCUMENT.
Access media files from shared storage | Android Developers
To provide a more enriched user experience, many apps allow users to contribute and access media that’s available on an…
Access documents and other files from shared storage
On devices that run Android 4.4 (API level 19) and higher, your app can interact with a documents provider, including…
Note: Media location is considered sensitive data now and would not be available unless app has ACCESS_MEDIA_LOCATION permission. It’s not a run time permission and has to be included in manifest. However it would be good idea to check this if app highly depends upon metadata or is an enterprise application where admin can remove the permission. If you want exact bytes of stored media, ‘MediaStore.setRequireOriginal(photoUri)’ has to be called.
So now apps can get access to specific block of memory. But what if I am a back up app which needs to access everything?
In Android 10, users tried to access the directories using storage access framework. Storage access framework was not intended for this purpose. Also, User complained about confusing UX. For such apps, a special permission is introduced in android 11. To ask the permission, Apps have to submit a declaration form to Google play. Once user grants the permission to have a broad access then user will get an unfiltered view of MediaStore that include non-media file. However, your app will not have access to external app directories.
Unfiltered view of Mediastore…What if my app uses custom file picker which displays exact data directories?
There is nothing you can do about it. You might want to use system picker from now on.
Alright so till this point we understand the reason behind scoped storage and the permission/methods to access it. Now let’s talk about scoped storage API changes over android 10 & 11.
Scoped storage was introduced in Android 10 but there were some controversial decision which enforced google to make API changes in Android 11.
1. In Android 10 and 11, Scoped storage is default behaviour. However app can request legacy external storage in Android 10 which is not the case in 11. Additionally In Android 10, Apps which wanted broader access, tried to use Storage access framework to select the directories which was not the intended purpose of storage framework. In Android 11, special access permission is introduced. Once Google play white list the app, special permission can be asked to the user.
2. In Android 10, UI for scoped storage permission looked same as earlier android version. So it would be hard for user to know if they are giving access to scoped storage or whole storage. With Android 11, permission UI will be updated so that user can clearly differentiate between different permissions he is providing.
3. In Android 11, Media store has been updated. User can do bulk delete/edit of media files which was not the case in Android 10. Additionally, Copying and Editing of files is possible in 11 but recommended only for one-off edits and small sized files since copying files will clutter user’s disk storage.
4. Android 10 has lack of support for native libraries and file path. This is use-case for apps written in c, c++. This support has been added in Android 11, in-fact this is the only use case where developer is expected to write new code. Under the hood file path api is a proxy to media storage api. so if possible, call media store api directly.
What does it mean for you?
if your app has files stored in Shared storage or outside app directory, you need to move them to app directory if you plan to target android 10 and above. Starting with Android 10 you will lose access to it.
Scoped storage is here to solve long time privacy issue. Although there were lots of controversial decisions and negative feedback in Android 10, It is here to stay. Starting September 2020, apps must target android 10 or later so unless you are an app which does not use storage, it’s recommended to start using scoped storage.
Lastly, thank you for reading the article! Any questions and suggestions are most welcome. See you soon.
Microsoft Mobile Engineering
#Mobile development articles and news brought to you by #MobileDevs working at @Microsoft
Источник
Что такое и как работает функция OTG на устройствах Android
С каждым годом возможности смартфонов и планшетов Андроид превышают своих предшественников в несколько раз, предоставляя пользователям очень интересные и полезные функции. Теперь вы можете подключить к своему мобильному гаджету разные устройства, как к компьютеру. Такую возможность предоставляет технология OTG (One-The-Go).
Из статьи вы узнаете
Что это такое?
USB OTG — это переходник для вашего смартфона, который подключается к нему через Mini или Micro USB, а с другой стороны расположен USB-порт, в который можно вставлять не только флешки, но и другие типы гаджетов. Например, картридеры, внешние диски, игровые джойстики, клавиатуры и многие другие технические новинки, окружающие нас в повседневной жизни. Таким образом, функция OTG на Android значительно расширяет возможности смартфона, предоставляя пользователю больший спектр применения своего аппарата.
Также часто появляются вопросы о том, почему разработчики девайсов не встраивают отдельный USB-порт, чтобы не использовать сторонние переходники.
- Во-первых, это лишнее место на корпусе телефона. Практически все компании, занимающиеся производством техники, стараются уменьшать толщину корпуса и это огромное преимущество перед конкурентами, поэтому ни один производитель не пойдет на такой шаг.
- Во-вторых, такой порт будет активно потреблять дополнительную энергию, а это сильно бьет по общему расходу заряда батареи.
- В-третьих, на продаже аксессуаров зарабатывают огромные деньги партнеры разработчиков. То есть, в Андроид добавили поддержку USB OTG, побудили интерес к своей технологии, а партнеры предоставили на рынке те самые переходники, которые необходимы для работы. В итоге выигрывают все, даже потребитель!
Какие устройства можно подключать через OTG?
Благодаря этой технологии к телефону могут подключаться практически любые типы устройств. Но это только в теории. На практике же мы видим иную картину. Здесь многое зависит от разработчиков оболочек для конкретной версии операционной системы Андроид, от аппаратов, которые вы подключаете, от совместимости.
Без проблем можно подключать USB-накопители до 32 Гб. Можно попробовать и больше, например, на 64 Гб, но они работают не везде.
Также есть возможность подключения отдельных внешних накопителей, но здесь стоит учесть тот факт, что многим моделям попросту не хватит мощности питания от вашего телефона. Если есть возможность подключить питание через обычную розетку в дополнительном входе, то тогда проблем с передачей и корректным чтением списка файлов не возникнет.
Можно подключать компьютерную мышь, клавиатуру. Это очень полезно в тех случаях, когда пользователю необходимо что-то напечатать, а стандартная виртуальная клавиатура его не устраивает.
Если вы заядлый геймер, то сможете при помощи OTG в телефоне подключить и геймпад. Только учтите, что не все игры из Google Play поддерживают такую технологию и подобные устройства. Здесь многое зависит от самого разработчика приложения.
Присутствует возможность передачи контактов и сообщений через данную технологию, если соединить два устройства через один кабель. Еще можно присоединить лампу, работающую от USB-порта.
Если же у вас плохая фронтальная камера на смартфоне, то просто подключите внешнюю!
Эта технология удобна для фотографов, которые могут через картридер или USB просмотреть фотографии на своем устройстве, например, планшете или смартфоне. Даже можно подключать адаптеры для интернета, чтобы подключаться через оптоволокно!
Но и это еще не все! Нужно срочно распечатать документы? Подключите принтер! Сюда же можно добавить еще и монитор или телевизор.
В итоге пользователь получает полноценное устройство, с помощью которого можно управлять другими девайсами. А если учесть, что мощность некоторых телефонных аппаратов превосходит часть бюджетных компьютеров старых поколений, то в будущем и вовсе можно ожидать полной реализации всей работы с ПК на мобильном устройстве.
Какие смартфоны поддерживают технологию?
Андроид, начиная с версии 2.3, автоматически поддерживает эту технологию. Но здесь важно учесть, что многое зависит от оболочки производителя, который предоставляет смартфон. Android — это разработка Google, предоставляемая всем компаниям, где уже каждая компания дорабатывает ее на свой лад и может, как добавить что-то новое, так и удалить.
Некоторые производители убирают эту опцию лишь затем, чтобы сэкономить заряд батареи, повысив в целом его эффективность. Но на такие шаги идут только ради бюджетных моделей. Средний и высокий классы смартфонов 100% обладают такой технологией и поддерживают большой ассортимент подключаемых устройств.
Как проверить, поддерживает ли мой смартфон эту функцию?
Узнать, есть ли у меня поддержка OTG, можно разными способами.
Источник