如何在 Fragment 中获取对 LocationManager 的引用
Posted
技术标签:
【中文标题】如何在 Fragment 中获取对 LocationManager 的引用【英文标题】:How to get a reference to LocationManager inside a Fragment 【发布时间】:2012-10-29 15:58:23 【问题描述】:我有一个扩展 Fragment 并实现 LocationListener 的类。 当我写
LocationManager myLocalManager =
(LocationManager)getSystemService(Context.LOCATION_SERVICE);
我收到编译时错误,因为方法 getSystemService
不是 Fragment 的方法。
我可以做些什么来创建LocationManager
?
【问题讨论】:
【参考方案1】:在你的片段中简单地调用这个:
LocationManager mgr =
(LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE);
因此,您只需获取 Activity 并从那里调用 getSystemService()
编辑:
由于自 API 28 起已弃用 getActivity
方法,您可以使用:
LocationManager mgr =
(LocationManager)getContext().getSystemService(Context.LOCATION_SERVICE);
【讨论】:
谢谢,我很接近但无法以正确的方式得到它【参考方案2】:试试这个代码 sn-p 它会工作。
代码:
LocationManager locationManager = (LocationManager)
getContext().getSystemService(Context.LOCATION_SERVICE);
【讨论】:
以上是关于如何在 Fragment 中获取对 LocationManager 的引用的主要内容,如果未能解决你的问题,请参考以下文章
如何在android中获取Fragment的包名(不是Activity的)[重复]
android ViewPager+Fragment 如何在ViewPager的Activity中获取Fragment中的控件对象
如何在activity中获取fragment的控件,然后修改控件的内容,
如何在 MainActivity 和 Fragment 中正确获取 WifiManager 的实例