我知道在 Android 中了解某个位置是否是假点的推荐方法是这样的:
boolean isMock = false;
if (android.os.Build.VERSION.SDK_INT >= 18) {
isMock = location.isFromMockProvider();
} else { // Old Android versions (<6)
isMock = !Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ALLOW_MOCK_LOCATION).equals("0");
}
因此,对于当前的 Android,我必须请求位置权限才能知道这是否是模拟位置。但是我认为如果我可以阅读“选择模拟位置应用程序”,则没有必要。
此外,如果您想显示警报消息,您可以自定义此消息。例如:您可以这样说:“请删除 com.lexa.fakegps 应用程序”。当用户点击“接受”时,您可以重定向到下一个链接:https ://play.google.com/store/apps/details?id=com.lexa.fakegps
此外,还有一些假 gps 应用程序在 isFromMockProvider 方法中返回 false。
此外,您可以使用对您的用户更有用的应用程序进行统计。
最后,我不明白为什么除了“选择模拟位置应用程序”之外,您可以阅读开发人员设置的所有设置:
https://developer.android.com/reference/android/provider/Settings
有什么解决办法吗?或者只是这是一件愚蠢的不可能的事情?