В Google Talk и Play Store по-прежнему требуется синхронизация фона на сэндвиче с мороженым?

Когда я использовал версии Android до 2.x, некоторые приложения, такие как Google Talk и Android Market (теперь Play Store), потребовали, чтобы синхронизация фона активировалась через Настройки -> Учетная запись и синхронизация -> Фоновые данные . Недавно я обновился до Ice Cream Sandwich и заметил, что и Google Talk, и Play Store работают также, когда эта настройка отключена.

У таких приложений по-прежнему требуется синхронизация фона, возможно, таким образом, который больше не контролируется настройкой, доступной пользователю?

8 голосов | спросил Paolo Amoroso 13 PMpFri, 13 Apr 2012 23:01:15 +040001Friday 2012, 23:01:15

2 ответа


8

Да, фоновые данные всегда включены с Ice Cream Sandwich. См. Примечание в документации для android.net.ConnectivityManager.getBackgroundDataSetting() :

  

По состоянию на ICE_CREAM_SANDWICH, наличие фоновых данных зависит от нескольких комбинированных факторов, и этот метод всегда будет возвращать true. Вместо этого, когда фоновые данные недоступны, getActiveNetworkInfo() теперь будет отключен.


Vending (внутреннее название Android Market, на самом деле com.android.vending) использует C2DM для получения запросов на установку (посмотрите его манифест приложения, даже на ICS он все еще имеет приемники c2dm). AFAIK, C2DM работает только при наличии фоновых данных.

Некоторое время назад я где-то читал сообщение в блоге (к сожалению, я сейчас не нахожусь), объясняя, как работает Android Market (сообщение было до того, как оно было переименовано). IIRC, даже если вы попросили установить приложение прямо на свое устройство (вместо этого косвенно через https://market.android.com/), все, что он сделал, это отправить запрос на серверы Google, после чего отправил ваше устройство (через C2DM) запрос на установку. Это объясняет, почему вендинг нуждается в исходных данных - он ничего не может сделать, не получая запросы через C2DM с серверов Google.

Я не знаю о Google Talk, но из того, что я слышал, он использовал C2DM с тех пор, пока C2DM не был доступен для публики. Опять же, это объясняет, зачем ему нужны фоновые данные.

AFAIK, фоновая синхронизация полностью отделена от фоновых данных, за исключением того факта, что, очевидно, она не может синхронизироваться в фоновом режиме, если фоновые данные отключены, и тот факт, что вы можете изменить ее из экрана синхронизации в приложении настроек.

ответил CesarB 23 AM00000050000001031 2012, 05:46:10
0

У меня Samsung Galaxy Nexus работает с ICS 4.0.4. Когда я перехожу к настройкам -> Accounts & Экран «Синхронизация» и выберите учетную запись (в частности, учетную запись, которую я использую для Google Talk и магазина Google Play), эти два приложения не присутствуют в списке приложений, которые можно включить /отключить для синхронизации фона. Если эти приложения выполняют фоновую синхронизацию, это уже не настраиваемый пользователем параметр, чтобы отключить его.

ответил JadeMason 24 J000000Tuesday12 2012, 01:07:54

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132