每当我调用get-lat-long函数时,我都需要在状态栏上显示GPS图标。
但现在,gps图标显示在整个应用程序中。
如何在状态栏中显示/隐藏GPS图标?
不,不能使用公共API。
要做到这一点,你不仅需要一个有根的手机,还需要修改services.jar
(也许还有framework.jar
)才能隐藏它。简而言之,除非你正在编译自己版本的安卓ROM,否则你真的无法做到这一点。
或者,根据Someone Somewhere的建议,您可以完全隐藏状态栏。
然而,如果你想确保在不使用GPS图标时不显示GPS图标,那么这意味着你没有调用removeUpdates()
,因此系统会让用户知道他们的位置正在被应用程序监控。要删除图标,只需在LocationManager
上调用removeUpdates()
即可。
如果您只想在一个屏幕中获取GPS数据,您可以在onPause()
中删除/注销Listener,这将删除状态栏中的GPS图标。此外,当您再次切换到同一屏幕/活动时,您可以在onResume()
中再次注册Listener以取回GPS图标。
您可以查看this
的示例。
此外,当你完成GPS工作时,注销LocationListener总是一件好事,因为它可能会过快耗尽电池,而用户根本不喜欢。