我正在构建一个Android和IOS应用程序,它将使用用户的GPS位置。我担心用户伪造他们的GPS位置,因为我听说有人使用Uber。
是否有一种预防或检测此方法的程序化方法?
答案 0 :(得分:1)
几乎没有办法验证GPS读数的正确性。但是,您可以使用解决方法来检测可能的欺骗:
首先,您可以检测他们的模拟位置设置是否开启(GPS伪造应用常用)。为此,请查找Settings.Secure.ALLOW_MOCK_LOCATION)
设置并检查是否已启用。然后检查哪些应用具有该权限(即android.permission.ACCESS_MOCK_LOCATION
)。如果存在使用该权限并且该设置已启用的应用程序,则可能会伪造用户的位置进行高度更改。
您也可以尝试使用Location.isFromMockProvider
,但我不确定结果的准确程度。如果您通过GPS伪造应用程序获取了您正在检查的位置,则该函数返回true。
答案 1 :(得分:0)
我不确定,但如果有人想给假GPS定位,他需要扎根手机。所以你可以检查一下,如果某人有根电话,那么就不要相信他/她的位置。要检查手机是否已植根:link