我有一个扩展 Fragment 并实现 LocationListener 的类。当我写
LocationManager myLocalManager =
(LocationManager)getSystemService(Context.LOCATION_SERVICE);
我收到编译时错误,因为该方法getSystemService
不是 Fragment 的方法。
我可以做些什么来创建LocationManager
?
我有一个扩展 Fragment 并实现 LocationListener 的类。当我写
LocationManager myLocalManager =
(LocationManager)getSystemService(Context.LOCATION_SERVICE);
我收到编译时错误,因为该方法getSystemService
不是 Fragment 的方法。
我可以做些什么来创建LocationManager
?
在你的片段中简单地调用这个:
LocationManager mgr =
(LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE);
因此,您只需获取 Activity 并getSystemService()
从那里调用
编辑:
由于该getActivity
方法自 API 28 以来已被弃用,您可以使用:
LocationManager mgr =
(LocationManager)getContext().getSystemService(Context.LOCATION_SERVICE);
试试这个代码片段它会工作。
代码 :
LocationManager locationManager = (LocationManager)
getContext().getSystemService(Context.LOCATION_SERVICE);