Я пытаюсь найти местоположение. Когда устройство разблокировано, все работает нормально, но когда устройство заблокировано, координаты не приходят.
Вот пример моего сервиса:
public class LocationService extends Service implements GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener{
@Override
public void onCreate() {
super.onCreate();
buildGoogleApiClient();
mGoogleApiClient.connect();
startForeground(1131, new NotificationCompat.Builder(this, "default")
.setContentText("App")
.setContentTitle("App Service")
.setSmallIcon(R.mipmap.enter_icon)
.build());
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
return START_STICKY;
}
@Override
public void onConnected(Bundle bundle) {
startCheckLocation()
}
private void startCheckLocation() {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
LocationRequest locationRequest = LocationRequest.create();
locationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);
locationRequest.setFastestInterval(interval);
locationRequest.setInterval(interval);
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
Intent intent = new Intent(this, LocationService.class);
mPendingIntent = PendingIntent.getService(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
mFusedLocationClient.requestLocationUpdates(locationRequest, mPendingIntent);
}
public static void start(Context context) {
Intent intent = new Intent(context, LocationService.class);
context.startService(intent);
}
}
Я пытался использовать метод getBroadcast () вместо метода getService (), но он работает точно так же.