0

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

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

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

谢谢你的帮助。

4

1 回答 1

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

于 2013-05-10T21:30:17.943 回答