Задержка после запуска никогда не вызывается - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь сделать это Android LocationRequest: получить обратный вызов, когда истекает запрос

Во фрагменте у меня есть этот код

        @NonNull
protected Handler sHandler = new Handler(CoreApp.getContext().getMainLooper());
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    sHandler.postDelayed(mExpiredRunnable, 5000);
}
final Runnable mExpiredRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("aaa");
    }
};

Во фрагменте все работает.У меня есть класс LocationHelper, у которого есть методы для работы с местоположением.В locationHelpetr у меня есть этот код

    @NonNull
protected Handler sHandler = new Handler(CoreApp.getContext().getMainLooper());
final Runnable mExpiredRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("aaa konec");
        mOnSuccessLocationListener.onSuccess(null);
    }
};
public void startLocationUpdates() {
    LocationRequest locationRequest = LocationRequest.create();
    locationRequest.setInterval(5000);
    locationRequest.setFastestInterval(5000);
    locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
    locationRequest.setExpirationDuration(15000);

    mFusedLocationClient.requestLocationUpdates(locationRequest, mLocationCallback, null);

    if (mListener != null) {
        mFusedLocationClient.getLastLocation().addOnSuccessListener(mOnSuccessLocationListener);
        sHandler.postDelayed(mExpiredRunnable, 5000);
    }
}

mExpireRunnable никогда не вызывается в locationHelper.Во фрагменте все ок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...