防止用户更改 GPS 状态 Fused Location API
Prevent user to change GPS status Fused Location API
我正在使用 Google API(Fuse Location Provider)来跟踪设备的位置,但我需要防止用户禁用 GPS。我读了很多答案,但我发现的只是:不,不能做,生根设备或漏洞利用。一位朋友刚刚向我展示了一个家长控制应用程序,无需对设备进行 root 操作即可完成此操作。关于用户隐私等,代码仅在公司设备上使用,用户知晓。
至少我需要一种方法来检测 GPS 是否已停用以通知用户,顺便说一句,我在 Google API 中找不到任何相关参考。
非常感谢。
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
}
}
}
我正在使用 Google API(Fuse Location Provider)来跟踪设备的位置,但我需要防止用户禁用 GPS。我读了很多答案,但我发现的只是:不,不能做,生根设备或漏洞利用。一位朋友刚刚向我展示了一个家长控制应用程序,无需对设备进行 root 操作即可完成此操作。关于用户隐私等,代码仅在公司设备上使用,用户知晓。
至少我需要一种方法来检测 GPS 是否已停用以通知用户,顺便说一句,我在 Google API 中找不到任何相关参考。
非常感谢。
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
}
}
}