Androidでは、目的と用途に応じて、下記のように様々な位置情報を取得する手段が存在しています。
特に詳細な精度を求めない場合は、「2. COARSE_LOCATION 精度での位置情報の取得」を選択してください。
1. FINE_LOCATION 精度での位置情報の取得
例: FusedLocationApi.getLastLocation()
欠点 : バッテリー消費が大きいため苦情につながりやすい
2. COARSE_LOCATION 精度での位置情報の取得
精度: 約 50m ~ 100m 程度 : 余分にバッテリーを消費しないため、多くのケースで推奨。また、個人情報についてのユーザーの不安の声を招きにくい
(参考) Getting the Last Known Location | Android Developers
https://developer.android.com/training/location/retrieve-current.html
3. Google Maps Geolocation API
https://developers.google.com/maps/documentation/geolocation/intro
有料。特別なパーミッションは不要だが、ネットワーク通信が必要