Мы разработали приложение-заполнитель для предустановки на устройствах Android. Все, что он делает, это указывает на URL-адрес рынка, чтобы его можно было обновить с помощью реального приложения. По сути, «заполнитель» — это не что иное, как более ранняя версия приложения с действием, которое запускает намерение для рынка. В маркете мы развернули приложение с более высоким номером версии, чтобы маркет мог отображать кнопку "Обновить".
Все работает хорошо, но с одной оговоркой: устройства будут поставляться с ярлыком приложения на «домашнем» экране. После завершения обновления (либо через заполнитель, либо через маркет вручную) ярлык удаляется с экрана. Нам нужно найти способ оставить ярлык нетронутым.
В ходе наших тестов мы поняли, что ярлыки удаляются, если мы обновляем стороннее приложение через маркет. Все работает хорошо (т.е. ярлык остается на месте), если обновленное приложение изначально было установлено приложением Market.
Однако у нас есть приложение, созданное с помощью Adobe Air, разработанное для нас сторонней компанией, которое прекрасно устанавливается и оставляет ярлык на месте. Другими словами, если мы загрузим и запустим его, после того, как обновление будет сделано через маркет, ярлык останется на «домашнем» экране.
Сначала мы подумали, что это может быть среда выполнения Adobe Air, прослушивающая android.intent.action.PACKAGE_ADDED и автоматически создающая ярлык. Однако удаление Adobe Air не изменило это поведение.
Есть ли какая-либо конфигурация в файле манифеста Android, которую можно использовать для этой цели? А может быть, стороннее приложение создает себе ярлык перед выходом в маркет?