SynchronousQueue останавливает завершение getLocation completeListener - PullRequest
0 голосов
/ 26 мая 2019

Я делаю статическую функцию для повторного использования текущего местоположения, и я использую SynchronousQueue, чтобы остановить возврат функции до завершения процесса получения местоположения, но проблема в том, что он никогда не завершается. Вот тело функции, когда я комментирую фрагмент очереди, она обычно завершается, но никогда не завершается при использовании очереди.

            fusedLocationClient.getLastLocation()
                    .addOnCompleteListener(new OnCompleteListener<Location>() {
                        @Override
                        public void onComplete(@NonNull Task<Location> task) {

                            if(task.isSuccessful()){
                                if(task.getResult() != null){
                                    FancyToast.makeText(context, "Loc acquired: " + task.getResult().getLatitude()
                                            , FancyToast.LENGTH_LONG, FancyToast.SUCCESS, false).show();
                                    //mOperationDone = true;
                                    mCurrentLocation = task.getResult();
//                                    try {
//                                        queue.put(mCurrentLocation);
//                                    } catch (InterruptedException e) {
//                                        e.printStackTrace();
//                                    }
                                }
                            }


                        }
                    });

в чем тут проблема

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