記事の内容
Flutterで、アプリを使う時に特定の権限が必要な時があります。
例えば、「位置情報」といったものです。
その必要な権限がユーザーから拒否された時に、設定画面に飛ばす方法を紹介します。
具体的には、permission_handlerを使います。
実装方法
Androidの場合
以下のコードで呼び出すことができます。
PlatformがAndroid以外の場合は、必ず「false」が返ってきます。
bool isShown = await per_handler.Permission.contacts.shouldShowRequestRationale;
iOSの場合
if (isShown == false) { per_handler.openAppSettings(); sleep(new Duration(seconds: 2)); }
最後に、アプリを落としています。
必要な権限がない場合は、アプリを使えない仕様にしたので、このように実装しました。
exit(0);