18

I have a class that extends Fragment and implements LocationListener. When I write

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

I get an compile time error because the method getSystemService is not a method of Fragment.

What can I do in order to create the LocationManager?

Rafael T
  • 15,401
  • 15
  • 83
  • 144
malcolm the4
  • 347
  • 2
  • 5
  • 15

2 Answers2

67

inside your fragment simply call this:

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

So you simply get the Activity and call getSystemService() from there

Edit: As the getActivity method is deprecated since API 28 you can just use:

LocationManager mgr = 
    (LocationManager)getContext().getSystemService(Context.LOCATION_SERVICE);
Rafael T
  • 15,401
  • 15
  • 83
  • 144
0

Try this code snippet it will work.

Code :

LocationManager locationManager = (LocationManager)
getContext().getSystemService(Context.LOCATION_SERVICE);
Rajeesh Menoth
  • 1,704
  • 3
  • 17
  • 33
ankit682
  • 19
  • 6