Android: предустановленные (заранее упакованные) ярлыки приложений удаляются после обновления маркета

Мы разработали приложение-заполнитель для предустановки на устройствах Android. Все, что он делает, это указывает на URL-адрес рынка, чтобы его можно было обновить с помощью реального приложения. По сути, «заполнитель» — это не что иное, как более ранняя версия приложения с действием, которое запускает намерение для рынка. В маркете мы развернули приложение с более высоким номером версии, чтобы маркет мог отображать кнопку "Обновить".

Все работает хорошо, но с одной оговоркой: устройства будут поставляться с ярлыком приложения на «домашнем» экране. После завершения обновления (либо через заполнитель, либо через маркет вручную) ярлык удаляется с экрана. Нам нужно найти способ оставить ярлык нетронутым.

В ходе наших тестов мы поняли, что ярлыки удаляются, если мы обновляем стороннее приложение через маркет. Все работает хорошо (т.е. ярлык остается на месте), если обновленное приложение изначально было установлено приложением Market.

Однако у нас есть приложение, созданное с помощью Adobe Air, разработанное для нас сторонней компанией, которое прекрасно устанавливается и оставляет ярлык на месте. Другими словами, если мы загрузим и запустим его, после того, как обновление будет сделано через маркет, ярлык останется на «домашнем» экране.

Сначала мы подумали, что это может быть среда выполнения Adobe Air, прослушивающая android.intent.action.PACKAGE_ADDED и автоматически создающая ярлык. Однако удаление Adobe Air не изменило это поведение.

Есть ли какая-либо конфигурация в файле манифеста Android, которую можно использовать для этой цели? А может быть, стороннее приложение создает себе ярлык перед выходом в маркет?


person AngraX    schedule 10.02.2012    source источник


Ответы (1)


В порядке. Отвечая на мой собственный вопрос, чтобы помочь другим с той же проблемой. Это так очевидно сейчас.

Убедитесь, что ваша активность MAIN, LAUNCHER одинакова как в боковом приложении, так и в приложении, опубликованном в Google Play.

В нашей заготовке точка входа Activity называлась MainActivityStub, а в приложении, опубликованном в Google Play, называлась MainActivity. После завершения обновления MainActivityStub больше не был доступен, поэтому ссылка была удалена с главного экрана.

person AngraX    schedule 28.03.2012