Android 권한 설정,체크하기(API23, Android 6.0 Marshmallow 이상)

2019. 7. 16. 16:00·Mobile Application/Android
반응형

Android 6.0 (Marshmallow)부터 개인정보 유출로 인하여 앱에서 일부 권한을 사용할 때에는 사용자로부터 동의를 받아야 한다. 사용자가 권한을 주었는지 아닌지 확인하기 위해 onRequestPermissionResult 함수를 통해 확인할 수 있다.

 

* 권한 설정

 

AndroidManifest.xml 파일에 아래처럼 두 줄을 추가해 준다

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

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    :
    :
    :

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

 

 

* 권한 체크

 

int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE); 

if(permissionCheck== PackageManager.PERMISSION_DENIED){ 
   

Log.i("INFO", String.format("[권한없음]")); 
}else{ 
    Log.i("INFO", String.format("[권한있음]")); 

    ActivityCompat.requestPermissions(this, 
                                                      new String[{Manifest.permission.WRITE_EXTERNAL_STORAGE},
                                                      PERMISSIONS_REQUEST);
}

 

* 권한 요청

 

@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
    switch (requestCode) {
        case PERMISSIONS_REQUEST: {
            // If request is cancelled, the result arrays are empty.
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
               //승인 허가 됨
            } else {
               //승인 허가 안됨
            }
            return;
        }
    }
}

 

반응형
저작자표시 비영리 동일조건 (새창열림)

'Mobile Application > Android' 카테고리의 다른 글

SQLiteDatabase: Failed to open database '/storage/emulated/0/.XXX/my.db  (0) 2019.07.16
error: package android.support.v4.view does not exist  (0) 2019.07.12
error: package android.support.v4.* does not exist  (0) 2019.07.04
Android Studio:: 함수 및 명령어 자동완성  (1) 2019.02.28
Android Studio:: Anko 라이브러리 추가하기  (0) 2019.02.27
'Mobile Application/Android' 카테고리의 다른 글
  • SQLiteDatabase: Failed to open database '/storage/emulated/0/.XXX/my.db
  • error: package android.support.v4.view does not exist
  • error: package android.support.v4.* does not exist
  • Android Studio:: 함수 및 명령어 자동완성
Y freesia
Y freesia
  • Y freesia
    꿈꾸는 개발자
    Y freesia
  • 전체
    오늘
    어제
    • 분류 전체보기 (44)
      • Language (6)
        • Swift (1)
        • Kotlin (3)
        • Objective-C (0)
        • Java (2)
        • C++ (0)
      • Mobile Application (15)
        • iOS (7)
        • Android (7)
        • Flutter (1)
      • Web (7)
        • WORDPRESS (0)
        • HTML+CSS+JS (6)
        • REACT (0)
      • Linux (1)
      • Function (1)
      • Reviews (9)
      • Qualification (1)
      • Cooking (3)
  • 블로그 메뉴

    • 홈
  • 공지사항

  • hELLO· Designed By정상우.v4.10.3
Y freesia
Android 권한 설정,체크하기(API23, Android 6.0 Marshmallow 이상)
상단으로

티스토리툴바