阻止用户更改 GPS 状态 Fused Location API
Posted
技术标签:
【中文标题】阻止用户更改 GPS 状态 Fused Location API【英文标题】:Prevent user to change GPS status Fused Location API 【发布时间】:2015-05-16 07:25:10 【问题描述】:我正在使用 Google API(Fuse Location Provider)来跟踪设备的位置,但我需要防止用户禁用 GPS。我阅读了很多答案,但我发现的只是:不,不能做,植根设备或漏洞利用。一位朋友刚刚向我展示了一个无需 root 设备即可完成此操作的家长控制应用程序。关于用户隐私等。该代码将仅用于公司的设备中,用户了解这一点。
至少我需要一种方法来检测 GPS 是否已被停用以通知用户,顺便说一下我在 Google API 中找不到对此的任何引用。
提前非常感谢。
【问题讨论】:
【参考方案1】:GpsStatus.Listener - Try reading this.
你可以重写 onGpsStatusChanged 方法:
@Override
abstract void onGpsStatusChanged(int event)
if (event==GPS_EVENT_STOPPED)
LocationManager mlocManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
boolean enabled = mlocManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
if(!enabled)
//toggle your notification
【讨论】:
谢谢!你给我指出了正确的方向。唯一的问题是,有时我会在 GPS 无法修复时收到 'GPS_EVENT_STOPPED',即在室内,即使 GPS 仍然处于活动状态,有什么建议吗?以上是关于阻止用户更改 GPS 状态 Fused Location API的主要内容,如果未能解决你的问题,请参考以下文章
从 Fused Location Provider 获取 GPS 或网络提供商
在我使用 Fused Location Client 的 android 应用程序中,为啥使用此代码时 GPS 会过时
Fused Location Provider 是不错的选择吗?