防止用户更改 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
        }
    } 
}