Хорошо, это странно, но мне, возможно, не хватает чего-то, что очевидно. Я в настоящее время доступа к местоположению пользователя с помощью этой функции:Android-приложение не отображается значок строки состояния при доступе к службам определения местоположения
public String[] getGeoCoords() {
String[] geoCoords = new String[2];
String mprovider = locationManager.getBestProvider(criteria, false);
if (mprovider != null && !mprovider.equals("")) {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return geoCoords;
}
Location loc = locationManager.getLastKnownLocation(mprovider);
if(loc== null)
loc = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
if (loc == null)
loc = locationManager.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER);
if (loc == null)
loc = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
geoCoords[0] = String.valueOf(loc.getLatitude());
geoCoords[1] = String.valueOf(loc.getLongitude());
}
return geoCoords;
}
Это возвращает местоположение, как ожидается, но значок, который вы обычно получаете при доступе местоположения пользователя не отображается в строке состояния.
В моем манифесте У меня есть
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
Любые идеи?
попытайтесь добавить это разрешение –