조용한 담장

Flutter : permission_handler 본문

Flutter

Flutter : permission_handler

iosroid 2019. 11. 5. 16:40

permission_handler

사용자에게 앱 기능을 위한 권한을 요구하는 Flutter 패키지 이다.

https://pub.dev/packages/permission_handler

이 패키지를 사용하기 위해서 이 앱이 시스템에 요구하는 권한에 대한 정보를 추가해야 한다.

Android 는 AndroidManifest.xml, iOS 는 Info.plist 파일에 내용을 추가해야 한다.

안드로이드 환경에서 테스트 해 보았다.

패키지 설치

pubspec.yaml 파일 수정.

dependencies:
    path_provider: ^1.4.0

AndroidManifest.xml 수정

<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >

    <!-- Permissions options for the `storage` group -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    <application ...

Storage 권한만 추가했다.

Main.dart

import 'package:permission_handler/permission_handler.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
...

패키지를 추가한다.

아래의 그림과 같이 버튼을 통해 권한 확인과 요청 동작을 구현한다.

첫번째 버튼을 클릭하면 권한을 체크하는 기능의 함수이다.

두번째 버튼을 클릭하면 권한을 요청하는 기능의 함수이다.

Android permission

Request App Permissions (Android developers)

android/app/src/main/AndroidManifest.xml

iOS permission

Requesting Permission (Apple Developer)

iOS App Permission Usage Description Keys (iOS Dev Recipes)

ios/Runner/info.plist

'Flutter' 카테고리의 다른 글

Flutter : path_provider  (0) 2019.11.11
Flutter : sqflite package (SQLite plugin)  (1) 2019.11.08
Flutter : DataTable  (3) 2019.11.04
Flutter : Draggable  (0) 2019.10.28
Flutter : SelectableText  (0) 2019.10.21
Comments