Я нашел два типа вопросов, подобных этому, на SO, но у обоих нет ответов.
Я использую FusedLocationProviderClient
, чтобы определить местоположение моего устройства. Я запустил фоновый сервис, чтобы получить местоположение, используя requestLocationUpdates()
.
Даже когда приложение находится на переднем плане, возвращаемая широта и долгота методов не меняются.
Вот фрагмент того, как я использую класс:
private FusedLocationProviderClient fusedLocationClient
fusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
fusedLocationClient.requestLocationUpdates(new LocationRequest(), locationCallback, Looper.getMainLooper());
locationCallback
- это просто метод, который будет печатать Долготу и Широту на консоли.
Все разрешения предоставлены, и я Проверяю разрешения в моем манифесте. Вот разрешения, которые я добавил:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:name=".App"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:usesCleartextTraffic="true"
android:theme="@style/AppTheme">
<activity android:name=".HomeActivity"></activity>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".LocationService" />
</application>
LocationService
- это служба, в которой я пытаюсь получить местоположение.
У кого-нибудь есть идея, в чем проблема ?? Я застрял на несколько часов!