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