Flutterで端末の位置情報を取得する時に使う「geolocator」という有名パッケージがあります。
このパッケージで位置情報を取得するための「Geolocator.getCurrentPosition」
メソッドを使う際に、「desiredAccuracy」プロパティに位置情報取得の精度(Location Accuracy)を設定することができますが、
Position position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
Androidアプリで位置情報を取得する場合、低精度(LocationAccuracy.Low以下)の場合は、ユーザーから位置情報取得の許可を得ていても、取得に失敗することがありますので、「desiredAccuracy」プロパティを「LocationAccuracy.high」以上にするか、当該プロパティをそもそも設定しない(デフォルトは「desiredAccuracy.best」なので)ようにする必要があります。
(詳しくは、以下の動画で解説していますので、よろしければご覧下さい)