【问题标题】:How can i get updated land longitude every 15 minute?如何每 15 分钟更新一次陆地经度?
【发布时间】:2011-09-21 14:26:23
【问题描述】:

我是安卓新手。我将使用以下代码获取 android 设备的纬度和经度,但我希望每 15 分钟更新一次纬度和经度。我怎样才能得到这个? 请帮帮我。

提前致谢。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    latituteField = (TextView) findViewById(R.id.TextView02);
    longitudeField = (TextView) findViewById(R.id.TextView04);

    // Get the location manager
    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    // Define the criteria how to select the locatioin provider -> use
    // default
    Criteria criteria = new Criteria();
    provider = locationManager.getBestProvider(criteria, false);
    Location location = locationManager.getLastKnownLocation(provider);

    // Initialize the location fields
    if (location != null) {
        System.out.println("Provider " + provider + " has been selected.");
        int lat = (int) (location.getLatitude());
        int lng = (int) (location.getLongitude());
        latituteField.setText(String.valueOf(lat));
        longitudeField.setText(String.valueOf(lng));
    } else {
        latituteField.setText("Provider not available");
        longitudeField.setText("Provider not available");
    }
}

/* Request updates at startup */
@Override
protected void onResume() {
    super.onResume();
    locationManager.requestLocationUpdates(provider, 400, 1, this);
}

/* Remove the locationlistener updates when Activity is paused */
@Override
protected void onPause() {
    super.onPause();
    locationManager.removeUpdates(this);
}

@Override
public void onLocationChanged(Location location) {
    int lat = (int) (location.getLatitude());
    int lng = (int) (location.getLongitude());
    latituteField.setText(String.valueOf(lat));
    longitudeField.setText(String.valueOf(lng));
}

@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
    // TODO Auto-generated method stub

}

@Override
public void onProviderEnabled(String provider) {
    Toast.makeText(this, "Enabled new provider " + provider,
            Toast.LENGTH_SHORT).show();

}

@Override
public void onProviderDisabled(String provider) {
    Toast.makeText(this, "Disenabled provider " + provider,
            Toast.LENGTH_SHORT).show();
}
}

【问题讨论】:

标签: android


【解决方案1】:

好的,

!. Start a service or thread from  your activity.

2. put a timer for every 15 minutes.

3. at every 15 minutes just call the onLocationChanged() for location update and 
   save it then pass the value to your activity and use it. 

现在我想这一次你明白了。

编辑:对于位置更新,只需检查我在上面评论中提到的上一个问题。

谢谢。 :-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    • 1970-01-01
    • 2023-02-10
    • 2019-01-05
    • 2020-06-23
    相关资源
    最近更新 更多