Pull to refresh

Comments 16

Так, подождите, если я в манифест не добавлю эти строки, то сломается шаринг на новом Андроиде? (ノಠ益ಠ)ノ彡┻━┻

Только если targetSdkVersion >= 30. Необновленные приложения будут работать как раньше.

Также это нужно делать только если ты получаешь какую-то информацию об установленных приложениях через интент (например через resolveActivity() и ему подобных методов). Для простого вызова startActivity() это не нужно.

Поясните, пожалуйста.
Если я скачал файл браузером, то теперь доступ к нему будет только у браузера?
Если я залил на устройство фильм чем-то вроде Software Data Cable или Airdroid, то теперь его и не посмотреть?
Или я неправильно понял?
Все зависит от того, какой набор разрешений выставит приложение, создавшее файл. В приведенных вами случаях что браузер, что airdroid сделают файл видимым для всех приложений на устройстве.
Спасибо. Перечитал.
Возможность проникнуть в папки других приложений убрали, а доступ есть только к своим данным — теперь это сугубо личная папка.

То есть если записать в свою папку на ES, то какие разрешения ни ставь — другие не увидят. Если записать в какую-либо другую папку, то зависит от выставленных разрешений, так?

Есть практический пример. Было приложение для фитнес трекера. Лежали в нём скины для дисплея, но было их мало. Сторонние приложения лазили в папку официального приложения, брали оттуда скины, позволяли редактировать и подкинуть обратно, либо залить на сам трекер. Но с новой версией разрешений им в папку официального приложения стало нельзя, пришлось искать другие варианты.

Да, верно, при записи в ES данные теперь видны только приложению и они же очищаются при удалении приложения. Для расшариваемых данных лучше всего использовать MediaStore API или SAF
Для пермишена android.permission.MANAGE_EXTERNAL_STORAGE надо ещё челобитную подать в Гугл-консольке, ибо возможен бан аппки.
Работа с MANAGE_EXTERNAL_STORAGE используется только в UI тестах и на дебаге (дополнительный манифест для дебага), в данным случае с релизной аппкой все будет ок

Непонятно, если нужен шаринг файла в файл менеджер, а их целая куча в маркете, их все придется указывать? Или например текст, сейчас можно отправить в практически любое приложении

Нет, можно указать неявный интент с необходимыми фильтрами и продекларировать его в queries
Я так понял это надо только в том случае если вы явный интент создаете с указанием какому именно приложению шарите. Для неявных интентов судя по всему все по прежнему (только сегодня мигрировал, у нас только текст пошарить можно, работает все ок). А вот для отдельных кнопок вроде «расшарить в фейсбук/вк» придется прописывать, да.
UPD. Блин, статью открыл в полдень и забыл что не обновлял, уже пояснили. Ну, пусть камент останется.
При удалении приложения расшаренные данные не удаляются. Это полезно, если не хочется потерять нужный контент.
Вопрос полного ламера.
Некоторые явно невинные, но косые приложения после деинсталляции на Android-7 и -8 не удаляют за собой кое-что именно «в системном недоступном разделе»: после повторной установки они «подхватывают» эти остатки и используют дальше.

Сам вопрос:
для нерутированного аппарата как можно хотя бы оценить общий объем всех таких хвостов после многократных пробных установок всякого разного хлама в течении некороткого периода юзания, чтобы принять решение о переформатировании всего Андроида после такого замусоривания, потому что рут этой железки недоступен по разным причинам.

Что еще я забыл спросить? (с)
Информацию о “хвостах” довольно сложно проанализировать, но, как вариант, можно зайти в настройках в раздел Память и смотреть, насколько сильно она заполнена в совокупности. При достижении критического значения уже можно предпринимать определенные действия, например, установить приложение очистки ненужных данных девайса. В GP много приложений подобного рода.
приложение очистки ненужных данных девайса. В GP много приложений подобного рода.
я повторюсь:
рут этой железки недоступен по разным причинам.


Информацию о “хвостах” довольно сложно проанализировать
в моем случае для моего примера приложения этот «хвост» стерся и даже больше не появляется при повторной установке — на рутованном аппарате я тупо стер то, что недоступно на не рутованном

А Вы точно настоящий девелопер? (с)

Память и смотреть, насколько сильно она заполнена в совокупности
тут когда-то была шикарная статья про систематическую смерть от износа недешевых АКА «качественных» флешек, которые работали строго в рид-онли, и объяснение простое: слишком умные контроллеры флешки обновляют даже такие области, а потому износ случается даже в рид-онли, а потому любой мусор лучше удалять сразу, не дожидаясь перитонита АКА умирания запаянной насмерть памяти в смарте из-за обновления ячеек, занятых этим говном.
Без рута определить объем памяти системных разделов можно только системными приложениями — например, как я упоминал, в настройках в разделе Память. В остальных случаях, насколько мне известно, практически невозможно как-либо проанализировать эту память.
Only those users with full accounts are able to leave comments. Log in, please.