私は次のコードを持っています:
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の開発の初心者です。ありがとう!