Если пользователь выполняет поиск во время
обновление хочу дождаться обновления
закончился при отображении «Пожалуйста, подождите»
предупреждение о прогрессе. Я не хочу запрашивать
и отображать результаты поиска до
обновление полностью выполнено.
Это ваш призыв, но имейте в виду, что вы создаете свою собственную проблему. Лично я бы снял это требование. Пользователь не должен испытывать неудобства только потому, что сработала сигнализация.
Например, вы можете отключить будильник и включить его снова, когда активность исчезнет.
Или, чтобы обновление было выполнено так, чтобы оно было атомарным (например, сделайте обновление для копии таблицы, а затем синхронизируйте таблицы в транзакции), чтобы действие все еще могло безопасно обращаться к базе данных во время обновления.
Каким был бы «правильный» способ
правильно ждать (может быть даже со статусом
обновление) в этом случае?
Пусть служба сообщит активности, когда обновление выполнено, с помощью какого-либо обратного вызова или, возможно, широковещательного намерения. Держите индикатор прогресса, пока это не произойдет. Это по-прежнему создает некоторые временные проблемы, поэтому я просто отбросил требование.