Android: предустановленные (предварительно упакованные) ярлыки приложений удаляются после обновления маркета - PullRequest
3 голосов
/ 10 февраля 2012

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

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

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

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

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

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

1 Ответ

2 голосов
/ 29 марта 2012

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

Убедитесь, что активность ОСНОВНОГО, ЗАПУСКА одинакова как в приложении с боковой загрузкой, так и в приложении, опубликованном в Google Play.

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

...