Android 如果启用了FakeGPS应用程序,则无法获取可用的位置设置

Android 如果启用了FakeGPS应用程序,则无法获取可用的位置设置,android,android-location,android-gps,android-fusedlocation,Android,Android Location,Android Gps,Android Fusedlocation,在我的应用程序中,在请求位置更新之前,我需要检查用户是否启用了位置设置。我的做法与官方文件中的做法完全相同: 如果启用了位置,我可以从位置服务获得成功回调。但是,如果我打开一个伪造GPS应用程序(保持位置打开),我的应用程序中总是会触发故障块。我希望在我的应用程序中返回成功回调,即使FakeGPS处于打开状态,因为我还没有关闭我的位置服务 这在Samsun S10和我尝试过的其他一些OnePlus手机上是100%可重复的。不过,它在其他一些手机上也能正常工作,并触发成功阻止 以前有人遇到过这样的

在我的应用程序中,在请求位置更新之前,我需要检查用户是否启用了位置设置。我的做法与官方文件中的做法完全相同:

如果启用了位置,我可以从位置服务获得成功回调。但是,如果我打开一个伪造GPS应用程序(保持位置打开),我的应用程序中总是会触发故障块。我希望在我的应用程序中返回成功回调,即使FakeGPS处于打开状态,因为我还没有关闭我的位置服务

这在Samsun S10和我尝试过的其他一些OnePlus手机上是100%可重复的。不过,它在其他一些手机上也能正常工作,并触发成功阻止

以前有人遇到过这样的问题吗?有没有解决办法?我尝试使用多个伪造GPS,但当我使用其中任何一个启用伪造GPS时,我的应用程序中也会发生同样的情况

而且,这种情况最近开始发生。几个月前,它运行良好

val locationSettingsResult = LocationServices
            .getSettingsClient(application)
            .checkLocationSettings(locationSettingsRequest)
        locationSettingsResult.addOnSuccessListener {
            buttonLocationUpdates.text = "Location Settings Enabled"
        }
        locationSettingsResult.addOnFailureListener { exception ->
            when (exception) {
                is ResolvableApiException -> {
                    buttonLocationUpdates.text = "Resolution Required"
                }
            }
        }
    }