質問内容
Flutterのパッケージ「geolocator」を使って端末に位置情報取得の許可を取得しています。
しかし、一度目(アプリ初回立ち上げ時)の位置情報取得の許可に、「許可しない(LocationPermission.denied)」を設定すると、二度目の許可を求めるために関数を実行するとダイアログが表示されず「LocationPermission.deniedForever」が自動的に返されます。
どうすれば二度目の位置情報取得の許可を表示させることができるのでしょうか。
該当のソースコード
Dart
1// ここでは「LocationPermission.denied」が設定されています。 2var currentPermission = await Geolocator.checkPermission(); 3if (LocationPermission.denied == currentPermission) { 4 // ここで、位置情報取得の許可を求めるダイアログが表示されるはずが、なにも表示されずに 5 // 「LocationPermission.deniedForever」が勝手に返されます。 6 currentPermission = await Geolocator.requestPermission(); 7} 8
試したこと
調べてみましたがなにもわかりませんでした。
補足情報(FW/ツールのバージョンなど)
[✓] Flutter (Channel stable, 3.10.5, on macOS 13.3.1 darwin-arm64, locale ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.73.0)

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。