Как понять, была ли синхронизация запущена автоматически или вручную на андроиде? - PullRequest
1 голос
/ 03 апреля 2011

Я использую SyncAdapter в моем приложении. Таким образом, синхронизация может быть либо автоматической ( addPeriodicSync ), либо запускаться вручную ( requestSync ).

Как узнать в процессе синхронизации, как она была запущена? Потому что, если он запускается вручную (из интерфейса приложения), я хотел бы показать тосты и т. Д.

Ответы [ 2 ]

2 голосов
/ 04 апреля 2011

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

Если вы хотите показать пользователям свой прогресс синхронизации, посмотрите вместо этогоПрезентация IO 2010: Разработка клиентских приложений REST для Android ( pdf и youtube ).Он показывает, как поместить состояние синхронизации в строки в вашей базе данных и обновить ваш пользовательский интерфейс.Гораздо лучшая модель, так как она обеспечивает детализацию для каждой строки для информации и отображается только в том случае, если они смотрят прямо на синхронизируемые данные.

1 голос
/ 07 апреля 2011

Похоже, использование дополнений - лучший подход.

...