Я думаю, что в рассылке обновлений нет простого флага, который указывает на любую ситуацию.
Имейте в виду, что каждый ACTION_APPWIDGET_UPDATE
широковещательный (и, следовательно, каждый вызов onUpdate ()) содержит все или подмножество идентификаторов appwidget для целей обновления.Эти идентификаторы являются постоянными в течение жизненного цикла виджета, каждый из которых имеет один и тот же идентификатор до тех пор, пока он не будет удален.
Это означает, что вы можете хранить свои идентификаторы и сравнивать их каждый раз, когда вы получаете вызов onUpdate ().Если вы нажмете onUpdate () с идентификатором в предоставленном массиве, которого нет в ваших сохраненных записях, вы можете быть уверены, что это новый экземпляр виджета, который будет обновлен.В противном случае это один или несколько старых.
Чтобы сохранить ваши записи в чистоте, вы должны также внедрить onDeleted()
в вашем провайдере.Удалите удаленные идентификаторы из ваших записей.В противном случае вы можете столкнуться с проблемами, когда пользователь удаляет виджет и добавляет новый экземпляр, он может получить тот же идентификатор.