android如何设置假手机的位置

时间:2011-09-03 08:06:07

标签: android location

我尝试将Mock位置用于手机,但它显示异常,

我的代码在下面,

Location location = new Location(MOCK_PROVIDER_NAME);
                        location.setLatitude(latitude);
                        location.setLongitude(longitude);
                        location.setTime(new Date().getTime());
                        locationManager.setTestProviderEnabled(MOCK_PROVIDER_NAME, true);
                        locationManager.setTestProviderLocation(MOCK_PROVIDER_NAME, location);
                        Toast.makeText(getBaseContext(),"Latitude: "+location.getLatitude()+" Longitude: "+location.getLongitude(), Toast.LENGTH_SHORT)
                        .show();

我给了MOCK_PROVIDER_NAME =“gps”,但是这个也没用,我试过“网络”和“恶搞”,但是它没有用。

我哪里出错了,任何人都告诉我。 谢谢

1 个答案:

答案 0 :(得分:0)

以下是导致问题的两个可能原因:

安全例外:

  

如果ACCESS_MOCK_LOCATION权限不存在或者   Settings.Secure.ALLOW_MOCK_LOCATION系统设置未启用

或IllegalArgumentException:

  

如果具有给定名称的提供者已存在

我从http://developer.android.com/reference/android/location/LocationManager.html#addTestProvider

获得了这些引用

如果它不是您获得的Exceptions之一,那么请告诉我们您的错误的堆栈跟踪以及堆栈跟踪在您的代码中显示的任何行是问题。

我发誓你没有在清单中声明权限和/或“允许模拟位置”在开发设置中是关闭的。