java—获取实际位置而不是模拟位置

puruo6ea  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(425)

android在开发者选项中有一个模拟位置的选项。如果我的理解是正确的,如果您设置了这个位置,应用程序将开始获取这个位置而不是实际位置?
如果是这样的话,不管这个选项中设置了什么,我们如何获得实际位置?
如果不是这样,什么时候实际使用模拟位置(仅在模拟器中?)?

au9on6nz

au9on6nz1#

据我所知,如果我们使用moke定位,我们无法获得实际位置,
吸烟地点的使用
假设您正在澳大利亚地区开发一个应用程序,并且您希望在美国环境中测试您的应用程序(仅限位置),而不必去那里,在这种情况下,我们使用的是moke location。
我觉得location来自android框架库,这些api就是这样写的,如果你设置了moke location,那么api只会优先考虑moke location。所以,如果你想使用实际位置,你需要停止吸烟。
你可以编写自己的api,直接与gps通信,然后你可能会这样做,但它的主要项目本身
编辑
您可以检查mocksetting选项是on还是off

/**
 *returns true if mock location enabled, false if not enabled.

**/

public static boolean isMockLocationStatus(Context context) {
  if (Settings.Secure.getString(context.getContentResolver(),
                                Settings.Secure.ALLOW_MOCK_LOCATION).equals("0"))
     return false;
  else
     return true;
 }

相关问题