Android固定位置应用

时间:2013-05-10 21:08:39

标签: java android location

我有以下代码来设置应用的当前位置:

   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点击操作。

问题是在设置位置后,它将切换回当前位置。这个设置位置代码是否必须不断运行,就像每一秒左右一样?基本上我希望将位置固定到我一直指定的坐标上。

感谢您的帮助。

1 个答案:

答案 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