Могу ли я требовать разрешения только в определенных версиях Android?

GCM не требует android.permission.GET_ACCOUNTS на JellyBean и выше. Однако мое приложение работает с уровнем API 11 и выше, поэтому мне нужно объявить его на этих устройствах.

Поскольку мне не нужно использовать учетные записи, отличные от GCM, могу ли я зарегистрировать это разрешение только в версиях Android ниже уровня API 16? Мое приложение очень заботится о безопасности, поэтому отказ от этого разрешения был бы огромным плюсом.


person Charles Munger    schedule 10.12.2012    source источник
comment
Кроме наличия двух отдельных APK для разных уровней API, я не знаю, что это возможно.   -  person CommonsWare    schedule 10.12.2012
comment
До сих пор я не видел никакого возможного способа сделать это в манифесте andriod. Можете ли вы уточнить, не можете ли вы решить эту проблему с помощью правильного распределения в google play   -  person quinestor    schedule 10.12.2012


Ответы (2)


Не существует значения тега , которое делает это . Однако вы можете выпустить две сборки, одну для 11-13 API, а другую для 14+.

Но, честно говоря, я бы не стал заморачиваться с диапазоном 11-13. Как показывает статистика Android, только около 1,6 % пользователей используют один из этих строит. Ограничено теми, кому чуть больше 11, это потеря всего 4,4% потенциальных пользователей, которая, вероятно, со временем уменьшится.

person PearsonArtPhoto    schedule 10.12.2012
comment
Возможно, вы неправильно поняли — ICS все еще нужно разрешение, а мармеладу — нет. Без учета 4.0.* устройств много пользователей. - person Charles Munger; 11.12.2012
comment
Ааа, я неправильно прочитал. Тот же совет следует и сейчас: создавайте для ICS и относитесь к Honeycomb как к плюсу. - person PearsonArtPhoto; 11.12.2012

С добавлением SDK 23 (Marshmallow) вы можете использовать новое объявление разрешений ниже, чтобы указать, что приложению требуются разрешения только на устройствах API 23 или выше.

<uses-permission-sdk23>

Источник: http://developer.android.com/guide/topics/manifest/uses-permission-sdk23-element.html

person TheIT    schedule 05.10.2015