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

时间:2015-04-28 09:32:32

标签: java android gps

Android在开发者选项中有一个选项来模拟位置。如果我的理解是正确的,如果您设置此位置,应用程序将开始获取此位置而不是实际位置?

如果是这种情况,无论此选项中设置了什么,我们如何获得实际位置?

如果不是这种情况,实际使用的模拟位置是什么时候(仅在模拟器中?)?

1 个答案:

答案 0 :(得分:0)

据我所知,如果我们使用MOKE位置,我们无法获得实际位置,

使用Moke位置

假设您正在澳大利亚地区开发应用程序,并且您希望在美国环境中测试您的应用程序(仅限位置),那么我们正在使用Moke位置。

我认为位置来自android框架库,并且这些apis编写是这样的,如果你设置了Moke位置,那么api将优先考虑moke位置。因此,如果你想使用实际位置,你需要停止moke loaction。

你可以编写自己的api,直接与gps对话,然后你可能会这样做,但它的主要项目本身

修改

您可以检查MockSetting选项是否开启

/**
 *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;
 }