Как избежать старых виджетах, которые не выполняются / исчезают при переработке основного кода?

У меня есть приложение на рынке, которое поддерживает виджеты. Я внес некоторые существенные изменения в приложение, переработав много внутренних компонентов, заменив / переименовывая действия и т. Д. Другие изменения включают поиск данных конфигурации виджета из разных разделенных ключей предпочтений, хотя я написал код преобразования для обработки миграции , Приложение работает так, как я желаю, включая виджеты, при установке из свежих. Тем не менее, сейчас я тестирую обновление от старой версии приложения до новой (через эмуляторы). Я вижу какое-то странное поведение. Однажды виджет появился ОК при первоначальном запуске, но при нажатии на него попытался запустить старую активность, а не новую, которую я запрограммировал. Итак, первый вопрос: почему виджет не обновил новый код при установке приложения?

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

… замена / переименование действий …

Там твоя проблема. Если вы переименуете приемник AppWidget, он исчезнет. Единственное решение – не переименовывать его.

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

Подробнее об этом читайте здесь: Блог разработчиков Android: вещи, которые не могут измениться