17

我有一个扩展 Fragment 并实现 LocationListener 的类。当我写

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

我收到编译时错误,因为该方法getSystemService不是 Fragment 的方法。

我可以做些什么来创建LocationManager

4

2 回答 2

66

在你的片段中简单地调用这个:

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

因此,您只需获取 Activity 并getSystemService()从那里调用

编辑: 由于该getActivity方法自 API 28 以来已被弃用,您可以使用:

LocationManager mgr = 
    (LocationManager)getContext().getSystemService(Context.LOCATION_SERVICE);
于 2012-11-09T10:28:41.067 回答
0

试试这个代码片段它会工作。

代码 :

LocationManager locationManager = (LocationManager)
getContext().getSystemService(Context.LOCATION_SERVICE);
于 2017-02-01T10:39:16.220 回答