Использование разрешений, которые не знает Android 2.1 (на Android 2.1) - PullRequest
5 голосов
/ 17 ноября 2011

В настоящее время я разрабатываю приложение, которое извлекает данные с сервера через определенный интервал.Я понимаю, что это не самый эффективный способ, поскольку он часто опрашивает сервер без извлечения каких-либо новых данных.

Решением для этого будет использование C2DM, и в настоящее время я изучаю, как его настроить.,Однако около 7% моих пользователей все еще используют Android 2.1, и я не хочу исключать их из своего приложения.

Я подумал, что могу проверить, какую версию Android используют пользователи, а затем решить, стоит лииспользовать C2DM или опрос (имея код для обоих в одном и том же apk).Однако для запуска кода C2DM мне нужно будет указать определенные разрешения в моем манифесте, и я беспокоюсь, что с этими разрешениями пользователи Android 2.1 не смогут загрузить мой файл apk.

Поэтому мой вопрос заключается в том, правильно ли я полагаю, что пользователи 2.1 не смогут загрузить приложение с разрешениями C2DM, и как обойти это, если так.Придется ли мне создавать два разных apk-файла и обновлять их отдельно при каждом (другом) обновлении, которое я делаю для приложения, которое не ограничено старыми версиями для Android?

Спасибо.

1 Ответ

4 голосов
/ 17 ноября 2011

Google C2DM не будет работать до 2.2, НО вы можете поддерживать разрешения для всех версий. Все, что вы делаете, это настраиваете приемники в манифесте.

Таким образом, когда вы регистрируетесь до версии 2.2, вы просто никогда не получите результаты для ваших запросов на регистрацию.

Просто чтобы сделать ответ более явным:

как вы определяете пользовательское разрешение:

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

Устройства до 2.2 будут просто Игнорировать это разрешение. Это означает, что любое устройство может быть установлено с этим набором. Это просто не будет работать до 2.2.

приписка Это также стоит отметить. Google C2DM не будет работать на устройствах без Android Market (и без настройки Android Market).

...