我有以下代码来设置应用的当前位置:
public void setLocation(double latitude, double longitude) {
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
if (locationManager.getProvider(providerName) != null) {
locationManager.removeTestProvider(providerName);
}
locationManager.addTestProvider(providerName, true, false, false,
false, false, false, false, Criteria.POWER_LOW,
Criteria.ACCURACY_FINE);
Location myloc = new Location(LocationManager.GPS_PROVIDER);
myloc.setLatitude(latitude);
myloc.setLongitude(longitude);
myloc.setTime(System.currentTimeMillis());
locationManager.setTestProviderEnabled(providerName, true);
locationManager.setTestProviderLocation(providerName, myloc);
}
@SuppressWarnings("deprecation")
public void set1001(View view) {
final double latitude = 40.718803;
final double longitude = -74.000193;
setLocation(latitude, longitude);
displayLocation();
}
set1001是Button
点击操作。
问题是在设置位置后,它将切换回当前位置。这个设置位置代码是否必须不断运行,就像每一秒左右一样?基本上我希望将位置固定到我一直指定的坐标上。
感谢您的帮助。
答案 0 :(得分:0)
您可以使用sharedpreferences
- 首先得到你正在做的坐标值。
- 现在将这些值存储在shared preferences
。
- 使用存储在共享首选项中的值,而不是运行代码来获取坐标。
- 存储在共享首选项中的值在您更改或删除之前不会更改。
您可以从下面的链接获取如何将值设置为共享首选项的示例 http://www.androidhive.info/2012/08/android-session-management-using-shared-preferences/
http://developer.android.com/reference/android/content/SharedPreferences.html