我尝试将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”,但是这个也没用,我试过“网络”和“恶搞”,但是它没有用。
我哪里出错了,任何人都告诉我。 谢谢
答案 0 :(得分:0)
以下是导致问题的两个可能原因:
安全例外:
如果ACCESS_MOCK_LOCATION权限不存在或者 Settings.Secure.ALLOW_MOCK_LOCATION系统设置未启用
或IllegalArgumentException:
如果具有给定名称的提供者已存在
我从http://developer.android.com/reference/android/location/LocationManager.html#addTestProvider
获得了这些引用如果它不是您获得的Exceptions之一,那么请告诉我们您的错误的堆栈跟踪以及堆栈跟踪在您的代码中显示的任何行是问题。
我发誓你没有在清单中声明权限和/或“允许模拟位置”在开发设置中是关闭的。