Подтвердить что ты не робот

Как получить ссылку на LocationManager внутри фрагмента

У меня есть класс, который расширяет фрагмент и реализует LocationListener. Когда я пишу

LocationManager myLocalManager =
(LocationManager)getSystemService(Context.LOCATION_SERVICE);

Я получаю ошибку времени компиляции, потому что метод getSystemService не является методом фрагмента.

Что я могу сделать, чтобы создать LocationManager?

4b9b3361

Ответ 1

внутри вашего фрагмента просто вызовите это:

LocationManager mgr = 
(LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE);

Таким образом, вы просто получаете Activity и вызываете getSystemService() оттуда

Редактировать: getActivity метод getActivity устарел, начиная с API 28, вы можете просто использовать:

LocationManager mgr = 
    (LocationManager)getContext().getSystemService(Context.LOCATION_SERVICE);

Ответ 2

Попробуйте этот фрагмент кода, он будет работать.

Код:

LocationManager locationManager = (LocationManager)
getContext().getSystemService(Context.LOCATION_SERVICE);