我有以下代码:的Android onLocationChanged和MainActivity
public class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {
// called when the listener is notified with a location update from the GPS
Log.d("Latitude", Double.toString(loc.getLatitude()));
Log.d("Longitude", Double.toString(loc.getLongitude()));
}
@Override
public void onProviderDisabled(String provider) {
// called when the GPS provider is turned off (user turning off the GPS on the phone)
}
@Override
public void onProviderEnabled(String provider) {
// called when the GPS provider is turned on (user turning on the GPS on the phone)
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
,并在我的MainActivity
LocationListener locationListener = new MyLocationListener();
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
现在,我要的是一次接收设备的当前位置在MainActivity类(获取高度和经度变量以便在应用程序中稍后使用)。
A.如何在一次后停止接收位置?函数lm.removeUpdates(listener)只能在MainActivity类中调用。
B.基本一致。如何在MyLocationListener类和MainActivity之间进行连接?
对不起,我是Android和Java开发的新手。 并且谢谢!
谢谢,我没有想到这个! 但是我怎么能和我的班级一起使用它?我怎样才能知道它何时获得价值? – user1591982
在您的活动中使用线程获取位置以及线程完成时调用getLongitude()&& getLatitude()方法通知您。 – yokees