본문 바로가기
개발/삽질

안드로이드 로컬파일 접근시 Unexpected SecurityException 에러

by 창이2 2020. 12. 13.

안드로이드 개발 할 때 내부저장소에 대한 Read/Write 권한이 필요할 때가 있습니다.

이 권한을 갖기 위해 Manifest에서 권한을 설정해 주지만 코드상으로도 권한을 체크해야 합니다.

 

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

코드로 권한을 체크해 주기 위해 

 

private var permissions = arrayOf(
        Manifest.permission.READ_EXTERNAL_STORAGE,
        Manifest.permission.WRITE_EXTERNAL_STORAGE
)
    
fun hasPermissions(context: Context?, permissions: Array<String>): Boolean {
    if (context != null) {
        for (permission in permissions) {
            if (ActivityCompat.checkSelfPermission(
                    context,
                    permission
                ) != PackageManager.PERMISSION_GRANTED
            ) {
                return false
            }
        }
    }
    return true
}

 

체크할 퍼미션들을 array에 넣어두어 체크하시면 되겠습니다.

 

이상!

댓글