Начиная с версии 6.0 (API уровня 23), мы можем запросить разрешения во время выполнения. Однако, согласно документам, все разрешения должны быть определены в AndroidManifest.xml, поэтому в API ниже 23, эти разрешения будут предоставлены до установки приложения.Запросить разрешение на основе уровня API
Я хочу запросить разрешение ACCESS_FINE_LOCATION
только во время выполнения - поскольку это конфиденциальное разрешение, запрашивающее его до установки без какого-либо контекста, приведет к уменьшению загрузки.
Я ориентирую свое приложение на уровни API 11+, поэтому я задаюсь вопросом, можно ли запрашивать разрешение ACCESS_FINE_LOCATION
в старых API (т. Е. Не указывать его в AndroidManifest для API старше 23 лет) и запрашивать его только для API 23+.
Update
Для уточнения, я хочу знать, можно ли сделать следующее:
AndroidManifest.xml
IF API_LEVEL>=23: {
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
}
ELSE:
{
}
Во время выполнения вы кладете проверку разрешений на версии, если версия> = 23, чем проверять разрешение во время выполнения иначе ничего не делать ....... –
@ Er.Arjunsaini, не надо ли мне перечислять эти разрешения статически в AndroidManifest.xml? – Ohad
«Во всех версиях Android ваше приложение должно объявить как нормальные, так и опасные разрешения, необходимые в манифесте приложения, как описано в разделе« Объявление разрешений »." – Ohad