Com android documentsui что это
Перейти к содержимому

Com android documentsui что это

  • автор:

Com android documentsui что это

Системный проводник
Версия: t_frc_doc_330443060

Последнее обновление программы в шапке: 23.04.2023

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Краткое описание:
Открывает скрытый системный проводник на любых устройствах.

Описание:
Это приложение открывает системный проводник, который скрыт по умолчанию в системе, но это приложение будет его открывать, оно работает как ярлык проводника, который вы можете перемещать в лаунчере. Работает на всех устройствах с Android 8.0.0 до Android 14.

На некоторых телефонах Honor и Huawei приложение может не работать.

Требуется Android: 8.0 и выше
Русский интерфейс: Да

Разработчик: ALEKSKART
Имя пакета: com.android.files

Скачать:
Версия: t_frc_doc_330443060 от 23/04/2023 (ALEKSKART)

Beta-версии:
Версия: t_frc_doc_330443080-publicbeta 02/11/2022 (ALEKSKART)

Документы АПК

Документы — android,documentsui,дизайн,файлы, рейтинг контента — Все (PEGI-3). Это приложение имеет рейтинг 4.75 от 12 пользователей, которые используют это приложение. Чтобы узнать больше о компании/разработчике, посетите веб-сайт, который ее разработал. Приложения com.android.documentsui.apk можно загрузить и установить на устройствах Android и выше. Последняя версия 9 доступна для скачивания. Загрузите приложение с помощью своего любимого браузера и нажмите «Установить», чтобы установить приложение. Обратите внимание, что мы предоставляем как базовые, так и чистые APK-файлы, а также более высокую скорость загрузки, чем APK Mirror. Это приложение APK было загружено в магазине более 61306 раз. Вы также можете скачать APK-файл com.android.documentsui и запустить его с помощью популярных эмуляторов Android.

просмотреть ваши документы

Журнал изменений приложений

Экраны приложений

Результаты сканирования APK

 Apk, просканированный TotalVirus Antivirus, com.android.documentsui.apk, был рискованным.Обнаружено 1 из 55 сканирований. Статистика сканирования:безвредный:0|тип-неподдерживается: 10|подозрительная: 0|подтвержденный тайм-аут: 0|тайм-аут: 0|неудача: 0|вредоносный:1|незамеченный: 65| Name:com-android-documentsui-28-63145649-70d593665f0fd98c1cf02a4ee31e7d15.apk SHA-1:fa6ce154bf43a2ff17223d2661c59215165eaf11 SHA-256:ecf2c5acb780d02e48140bfd8b0735ff2aa1da2e928360a54bc0ffe412284c97 SSDEEP:24576:ySc3WVRTakQRQpzSIdjFV0bB7L1iKcEubPYwwbOFKEinv8muvG+rFAEVlOv5SN3J:ybCjKeVjXc9iBzbgwwbOFK6BVlOvk File type:Android Magic:Zip archive data, at least v2.0 to extract File size:1834610 Uncompressed Size:3484526 Contained Files :410 Contained Files By Type:xml:327,dex:1,png:81,

Android 13 Developer Preview 1: Что там по безопасности?

Вышла первая версия нового Android 13, и Google обещает, что этот билд продолжит делать нам всем хорошо в плане приватности, безопасности и вообще котики никогда не умрут. Давайте посмотрим, что нового там завезли и стоит ли оно внимания.

Photo picker

В Android уже давно есть системный пикер для файлов, который позволяет получать доступ к конкретным файлам без необходимости давать приложению какие-либо разрешения. В Android 11 это приложение Documents ( com.google.android.documentsui ). Для работы с ним нужно просто послать интент или использовать Result API

// Устаревший, не рекомендованный способ  val documents = Intent(Intent.ACTION_GET_CONTENT).apply   addCategory(Intent.CATEGORY_OPENABLE)  type = "*/*" >  startActivityForResult(documents, 1337) ...  override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?)   super.onActivityResult(requestCode, resultCode, data)  if (requestCode == 1337)   // Упадет если нет URI в data ;)  image.setImageURI(data!!.data)  > > 
// Новый, блестящий способ. Всегда так делайте.  val getContent = registerForActivityResult(  ActivityResultContracts.GetContent())  uri: Uri? ->  uri?.let   image.setImageURI(uri)  >  >  getContent.launch("*/*") 

Эта штука понимает MIME-типы и вместо */* туда можно передать image/png и оно позволит выбирать только png картинки. Чувствуете, как ваше приложение становится “privacy friendly”? То-то же! Недостаток у этого пикера ровно один — он слишком “общий”. Т.е. даже с примененным фильтром по изображениям он будет выглядеть как-то вот так:

/img/android-13-preview-security/docsui.png

И тут новый Photo Picker™ спешит на помощь неся красоту, удобство и безопасность (о ней чуть позже). Он продолжает идею старого пикера в отношении пермишенов и дает новый UI и чуть больше контроля над параметрами выбора изображений и видео.

Google пока не показал как вызвать этот пикер через Result API, вероятно это вообще невозможно на данный момент, но старый добрый startActivityForResult все еще тут и будет радовать разработчиков долгие годы. Как AsyncTask …

val maxNumPhotosAndVideos = 10 val intent = Intent(MediaStore.ACTION_PICK_IMAGES) intent.putExtra(MediaStore.EXTRA_PICK_IMAGES_MAX, maxNumPhotosAndVideos) startActivityForResult(intent, PHOTO_PICKER_MULTI_SELECT_REQUEST_CODE)  ...  override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent)   super.onActivityResult(requestCode, resultCode, data)  if (resultCode != Activity.RESULT_OK)   // Обработать ошибку  return  >  when (requestCode)   REQUEST_PHOTO_PICKER_SINGLE_SELECT ->   // Обработать выбор одной фотографии  val currentUri: Uri = data.data   // Do stuff with the photo/video URI.  return  >   REQUEST_PHOTO_PICKER_MULTI_SELECT ->   // Обработать выбор нескольких фотографий  var i = 0  while (i  data.clipData!!.itemCount)   // Отправить все, что смогли украсть на C&C  >  >  > > 

Код выше, запустит пикер в режиме выбора нескольких фотографий и можно даже указать максимальное количество больше которого он выбрать не даст. Количество, при этом, далеко не бесконечное и регламентируется методом MediaStore#getPickImagesMaxLimit А теперь самое главное — почему это все безопасно? Покажу на примере старого пикера, потому что мне сейчас лень накатывать Preview версию студии чтобы скачать образ на эмулятор 😀 Я специально показал два спосба запуска пикера, потому что так нагляднее. Давайте еще раз:

val documents = Intent(Intent.ACTION_GET_CONTENT).apply   addCategory(Intent.CATEGORY_OPENABLE)  type = "*/*" >  startActivityForResult(documents, 1337) 

Мы здесь видим неявный intent, а это значит, что можно создать вредоносное приложение, в activity которого будет intent-filter c таким же action и category. В этом случае, при старте такого неявного intent-а система пойдет искать все activity, которые могут его обработать и если их больше одной, то отобразится Intent chooser. Это дает нам примерно 50% шанс увести юзера в нашу вредоносную галлерею и все украсть, а то и чего похуже…

/img/android-13-preview-security/huy-tam-plaval_52853848_orig_.jpeg

как любил говаривать Морихэй Уэсиба. При выполнении этого кода будет запущено приложение Documents. Без вариантов. Даже на Android 6.0.1. Но как же так? Хитрость кроется в том, как определена целевая activity в этом приложении:

  android:theme="@ref/0x7f1200f5"  android:name="com.android.documentsui.picker.PickActivity"  android:exported="true"  android:visibleToInstantApps="true">   android:priority="100">   android:name="android.intent.action.GET_CONTENT" />   android:name="android.intent.category.DEFAULT" />   android:name="android.intent.category.OPENABLE" />   android:mimeType="*/*" />   

Ну приоритет это старая история. Сейчас поставим 999 и все будет хорошо. Но Морихэй Уэсиба и в этой ситуации дает нам правильный ответ 😉 Давайте разбираться почему так происходит. Начнем с метода ComponentResolver#adjustPriority

String packageName = activity.getPackageName(); AndroidPackage pkg = sPackageManagerInternal.getPackage(packageName); final boolean privilegedApp = pkg.isPrivileged(); String className = activity.getClassName(); if (!privilegedApp)   // non-privileged applications can never define a priority >0  if (DEBUG_FILTERS)   Slog.i(TAG, "Non-privileged app; cap priority to 0;"  + " package: " + packageName  + " activity: " + className  + " origPrio: " + intent.getPriority());  >  intent.setPriority(0);  return; > 

Он и не дает нам перебить установленный в com.android.documentsui.picker.PickActivity приоритет. Согласно документации, привелигерованные приложения живут в /system/priv-app и некоторых других директориях. Проверяем:

sunfish:/ $ ls -la /system/priv-app total 156 drwxr-xr-x 39 root root 4096 2009-01-01 03:00 . drwxr-xr-x 12 root root 4096 2009-01-01 03:00 .. . drwxr-xr-x 2 root root 4096 2009-01-01 03:00 ContactsProvider drwxr-xr-x 2 root root 4096 2009-01-01 03:00 DocumentsUIGoogle  drwxr-xr-x 2 root root 4096 2009-01-01 03:00 DownloadProvider . 

И с грустью осознаем, что тягаться с привелигерованным приложением с выставленным явно приоритетом нам не по силам. Еще немного инфы про приоритеты можно найти тут. Согласно законам здравого смысла, новый пикер должен работать схожим образом. Это нужно обязательно проверить.

Новое разрешение для Wi-Fi

  • WifiManager
    • startLocalOnlyHotspot()
    • attach()
    • publish()
    • subscribe()
    • addLocalService()
    • connect()
    • createGroup()
    • discoverPeers()
    • discoverServices()
    • requestDeviceInfo()
    • requestGroupInfo()
    • requestPeers()
    • startRanging()

    Естественно не все так хорошо и есть методы, которые все еще требуют ACCESS_FINE_LOCATION для своей работы:

    Так что будь бдителен любитель начать сканирование и получить его результаты 😉 Ну и как обычно, если будете дергать API без соотвествующих пермишенов, то получите SecurityException .

    Новый пермишен относится к группе NEARBY_DEVICES , которая появилась в прошлой версии и также включает в себя пермишены на bluethooth. Почему это важно? При запросе пермишенов юзер получит универсальный диалог запроса разрешений на группу NEARBY_DEVICES . И отключить в настройках можно только всю группу сразу. Г — говно гранулярность!

    Еще один важный момент — если ваше приложение имеет таргет на Android 13 и вы точно знаете, что не используете никакое Wi-Fi API связанное с геолокаций, то для того чтобы не спалиться задекларировать это явно, нужно использовать специальный флаг neverForLocation

       android:name="android.permission.NEARBY_WIFI_DEVICES"  android:usesPermissionFlags="neverForLocation" />   .   

    Завершить пост хочу красивой картинкой, которая показывает как будет выглядеть новый воркфлоу

    Увидимся в следующих обновлениях.

    Ссылки

    • Photo picker
    • New runtime permission for nearby Wi-Fi devices
    • The first developer preview of Android 13
    • Processing Ordered Broadcasts
    • Random Musings on the Android 13 Developer Preview 1

    DocumentsUI

    Менеджер прав доступа к файлам и документам для Android

    Скачать последнюю версию

    Требования (последняя версия)

    • Требуется Android 10 или более новая версия

    Больше информации

    Имя пакета com.google.android.documentsui
    Лицензия Бесплатно
    ОС Android
    Раздел Общие
    Язык Pусский

    Предыдущие версии

    apk 14-10190138 Android + 10 15 июн 2023

    apk t_frc_doc_330543000 Android + 10 16 июн 2023

    apk t_frc_doc_330443060 Android + 10 8 ноя 2022

    apk t_frc_doc_330443010 Android + 10 6 окт 2022

    apk t_frc_doc_330443000 Android + 10 14 сен 2022

    apk t_frc_doc_330440000 Android + 10 14 сен 2022

    Оценить это приложение

    Оставить отзыв об этом приложении

    Рейтинг

    3 комментарии

    Комментарии

    Пока нет мнений по поводу DocumentsUI. Будьте первыми! Оставить отзыв

    Другие приложения автора

    YouTube icon

    Все видео, какие пожелаете, в вашем смартфоне

    Google PLAY icon

    Лучшее место для покупки фильмов, книг и приложений для Android

    YouTube Go icon

    Официальное приложение от YouTube для локальных загрузок

    YouTube TV icon

    Официальное приложение YouTube для телевизоров с Android TV

    Google Play Services icon

    Незаменимое приложение, чтобы все приложения были обновлены

    Google Chrome icon

    Официальный браузер Google

    Google Drive icon

    Синхронизируйте документы и файлы с помощью Google Drive

    Google Play Games icon

    Социальная сеть от Google для игр

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *