ネイティブにGPSロケーション機能を実装する方法、Android開発
GPSの位置情報を取得するには、下記の手順に従ってください。
- AndroidManifest.xmlファイルに適切な権限を追加します。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
- アクティビティ内で LocationManager オブジェクトを生成します。システムの LocationManager サービスを取得するには、getSystemService メソッドを使用します。
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
- チェックして、ユーザーが位置情報の許可を付与しているかどうかを確認する必要があります。
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// 如果没有权限,可以向用户请求权限
return;
}
- ロケーションリスナーオブジェクトを作成して、ロケーションの更新を listen する:
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
// 当位置更新时调用
double latitude = location.getLatitude();
double longitude = location.getLongitude();
// 可以在这里对位置进行处理
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
};
- ロケーションリスナーオブジェクトを登録して位置の更新をリッスンする
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
- 位置情報の更新が不要になった場合は、LocationListenerオブジェクトの登録を解除しましょう。
locationManager.removeUpdates(locationListener);
これでアンドロイドでGPSを利用した位置情報取得を利用することができます。