[android] 안드로이드 권한과 연락처 접근
안드로이드 앱을 개발할 때 중요한 부분 중 하나는 사용자의 민감한 정보에 접근해야 할 때 권한을 요청하는 것입니다. 이 중 연락처에 접근하기 위해서는 사용자로부터 명시적으로 허락을 받아야 합니다.
권한 요청
안드로이드 앱에서 연락처에 접근하려면 AndroidManifest.xml
파일에 해당 권한을 요청해야 합니다. 아래는 연락처 읽기 권한을 요청하는 예제 코드입니다.
<uses-permission android:name="android.permission.READ_CONTACTS" />
권한 확인
앱이 실행될 때, 연락처에 접근하기 위한 권한이 허용되었는지 확인해야 합니다. 아래는 권한이 허용되었는지 확인하는 Kotlin 코드 예제입니다.
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
// 연락처 읽기 권한이 허용되지 않았을 때 권한 요청
ActivityCompat.requestPermissions(this,
arrayOf(Manifest.permission.READ_CONTACTS),
MY_PERMISSIONS_REQUEST_READ_CONTACTS
)
} else {
// 연락처 읽기 권한이 이미 허용되었을 때
// 연락처에 접근하여 작업 수행
}
권한 요청 결과 처리
사용자가 권한 요청 다이얼로그에서 허용 또는 거부를 선택하면 onRequestPermissionsResult
메서드가 호출되어 결과를 처리할 수 있습니다.
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
when (requestCode) {
MY_PERMISSIONS_REQUEST_READ_CONTACTS -> {
if ((grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED)) {
// 권한이 허용되었을 때 연락처에 접근하여 작업 수행
} else {
// 권한이 거부되었을 때 사용자에게 메시지 표시하거나 앱을 종료할 수 있음
}
return
}
}
}
앱이 연락처 접근 권한을 올바르게 처리하면 사용자의 개인정보를 보호할 수 있고, 앱의 신뢰도를 높일 수 있습니다. 따라서 권한 요청과 처리에 신중함을 기울이는 것이 중요합니다.
참고 자료: 안드로이드 공식 문서 - 권한 요청