我已经实现了Demo来显示用户的当前lat-long。 现在我能够看到当前位置的lat-long。 但我想将它设置为每隔1分钟显示一次。 代码如下:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener lListener = new mylocationlistener();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, lListener);
}
private class mylocationlistener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
if (location != null) {
Log.d("LOCATION CHANGED", location.getLatitude() + "");
Log.d("LOCATION CHANGED", location.getLongitude() + "");
Toast.makeText(MainActivity.this,
"My current location:\nLatitude:"+location.getLatitude() + "\nLogitude:" + location.getLongitude(),Toast.LENGTH_LONG).show();
}
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
}
那么,我需要做些什么才能让它在每1分钟的时间间隔内显示当前的lat-long? 我想我必须使用线程来实现它。如何使它成为可能?
答案 0 :(得分:1)
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, lListener);
方法中的参数表示 - 提供者,时间,距离和位置监听器。
因此,要从位置侦听器请求更新,您需要将第二个参数设置为1000 * 60,因为时间以毫秒为单位记录。