我創建了一個模擬gps位置的Android應用程序,它的作品非常適合大多數程序,如igo,waze,osmAnd,GPS狀態等,但不適用於谷歌地圖仍然顯示我的實際位置。Android模擬位置不適用於谷歌地圖
我禁用了gps和網絡位置。
任何想法是爲什麼?如何解決它?由於
我使用的代碼:
public void setLocation(double latitude, double longitude, double altitude, float bearing, float speed){
String PROVIDER_NAME = LocationManager.GPS_PROVIDER;
locationManager.addTestProvider(PROVIDER_NAME, false, false, false, false, true, true, true, Criteria.POWER_LOW, Criteria.ACCURACY_FINE);
locationManager.setTestProviderEnabled(PROVIDER_NAME, true);
locationManager.setTestProviderStatus(PROVIDER_NAME, LocationProvider.AVAILABLE, null, System.currentTimeMillis());
Location location = new Location(PROVIDER_NAME);
location.setLatitude(latitude);
location.setLongitude(longitude);
location.setAltitude(altitude);
location.setBearing(bearing);
location.setSpeed(speed);
location.setTime(System.currentTimeMillis());
locationManager.setTestProviderLocation(PROVIDER_NAME, location.getLocation());
}
要使用你必須把你想用模擬物locations-工作它是一個單獨的許可您的清單一個模擬的位置。你確定谷歌地圖有這樣的權限嗎?它可能已經決定不有意使用模擬。 – 2013-02-25 16:11:24
感謝您的幫助。我想他們已經在其他模擬程序中使用它,比如在「僞造我的位置」的作品中。 – Arnold 2013-02-25 16:16:02
我的猜測是Google Map的活動/片段在被帶到前臺時採取行動,以避免成爲欺騙場所的受害者。 模擬LocationProviders在系統範圍內生效,這也意味着另一個應用程序可以刪除您的應用程序添加的模擬提供程序。如果您在查看Google地圖後返回Waze,那麼Waze是否仍會收到您的模擬GPS位置更新? – 2013-02-27 23:13:09