Я пытаюсь получить текущее местоположение либо от GPS, либо от сетевого провайдера, для которого я использую эти разрешения, объявив его в AndroidManifest.xml,
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Я проверяю разрешениево время выполнения, как,
ActivityCompat.checkSelfPermission(context, android.Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED)
и
ActivityCompat.checkSelfPermission(context, android.Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED
Это прекрасно работает для меня с Android SDK версии 22, тогда как в SDK версии 25, хотя разрешение объявлено в AndroidManifest.xml, оно не получаетотражается во время выполнения.
Я проверил, предоставляются ли эти разрешения,
adb shell dumpsys package com.abc.xyz
Разрешенияне были предоставлены для моего приложения, которое работает на SDK-25, когда я пытался предоставить разрешение с помощью оболочки adb как,
adb shell pm grant com.abc.xyz android.Manifest.permission.ACCESS_COARSE_LOCATION
Я подозреваю, что Android сделал эти разрешения доступными для SDK версии 25 (исправьте меня, если я ошибаюсь).Я просто не могу понять, как изменился уровень / уровень разрешений между версиями SDK.
Пожалуйста, помогите мне узнать об этом.