Где хранятся отображаемые ярлыки?

Часто после перезагрузки, сбоя или использования USB значки приложений пропадают. Как в «Домашних» экранах, так и в «Приложениях».

Сейчас у меня четыре экрана приложений, три дома. Некоторые значки по понятным причинам исчезают, когда SD берется, например. USB Storage в режим ПК (потому что они там частично хранятся), но часто отказываются снова появляться даже после перезагрузки телефона.

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

Возможно, до моего редактирования это было слишком ориентировано на разработчиков, но было бы неплохо узнать путь UNIX (к конфигурации запуска, отвечающей за то, что отображается в данный момент?). Тогда я, вероятно, мог бы написать собственное обновление/исправление ошибки без веса еще одного приложение/сторонний лаунчер.

Ответы (3)

Конкретные настройки приложения обычно хранятся во внутренней папке хранилища, доступной только для этого приложения. Хотя приложения имеют возможность записывать данные во внешнее хранилище и терять доступ к этим данным при его монтировании, я сомневаюсь, что здесь дело обстоит именно так.

Когда вы устанавливаете и перемещаете приложение на SD-карту, вы не перемещаете приложение целиком. Некоторый основной контент приложения по-прежнему остается во внутренней памяти. Однако перемещение приложения во внешнее хранилище имеет некоторые интересные побочные эффекты. Приложение полностью отключается при подключении устройства к компьютеру на устройствах без сотовой связи. Начиная с Android 3.0, USB-накопитель был переключен на MTP, что позволяет устройству и компьютеру одновременно получать доступ к хранилищу.

В вашем случае, когда вы подключаетесь к компьютеру, приложения на SD-карте отключаются, что приводит к их временному исчезновению. Что касается того, что они не появляются снова, когда вы отключаете и перезагружаете телефон, это говорит о том, что в используемой вами программе запуска есть ошибка. Попробуйте вместо этого использовать другой сторонний лаунчер.

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

В любом случае, большинство лаунчеров, включая стандартный Android, Nova Launcher, Apex, Smart Launcher Pro, Slim Launcher, предпочитают хранить ярлыки и виджеты главного экрана в базе данных, расположенной внутри их каталога данных.

Например /data/data/com.android.launcher3/databases/launcher.db, может быть таблица с именем, в favoritesкоторой вы можете найти все эти записи. Удалите эти записи, перезапустите, и изменения отобразятся на главном экране.

Если вы хотите сделать резервную копию этих ярлыков на главном экране, сделайте резервную копию всего приложения Launcher или, по крайней мере, его баз данных.

Я полагаю, что они хранятся вместе с данными программы запуска, поскольку эти значки/ярлыки и их порядок зависят от программы запуска.