Android Studio AndroidOS Androidアプリ java アプリ開発

Android 位置情報の取得クラス

Androidで位置情報を取得するクラスを作成。
特に何も気にしなければ以下のコードを作成して取得できる。

<uses-permission android:name=”android.permission.ACCESS_FINE_LOCATION”/>
<uses-permission android:name=”android.permission.ACCESS_COARSE_LOCATION”/>
public class GetLocation implements LocationListener {

    Context context;
    LocationManager mLocationManager;

    public GetLocation(Context context){
        this.context = context;
    }

    public void getCurrentLocation() {
        // LocationManagerを取得
        mLocationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
        Criteria criteria = new Criteria();
        // Accuracy
        criteria.setAccuracy(Criteria.ACCURACY_FINE);
        // PowerRequirement
        criteria.setPowerRequirement(Criteria.POWER_LOW);
        // ロケーションプロバイダ
        String provider = mLocationManager.getBestProvider(criteria, true);
        // LocationListenerの登録
        mLocationManager.requestLocationUpdates(provider, 0, 0, this);
    }

    public void stopGetLocation() {
        mLocationManager.removeUpdates((LocationListener) this);
    }

    @Override
    public void onLocationChanged(Location location) {
        Log.d("dev",""+location.getLatitude()+ ":"+ location.getLongitude());
    }

    @Override
    public void onProviderDisabled(String provider) {

    }

    @Override
    public void onProviderEnabled(String provider) {

    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {

    }
}

あとは、取得をしたい場所で以下のコードを書く。

GetLocation location;

location = new GetLocation(this);
location.getCurrentLocation();

また取得を中止したいときにはこれで停止。

location.stopGetLocation();

-Android Studio, AndroidOS, Androidアプリ, java, アプリ開発
-, , , ,

Copyright© LAPTURE , 2020 All Rights Reserved.