728x90
반응형
AndroidManifest
AndroidMainfest.xml 파일에서 CAMERA Permission 추가한다.
<uses-permission android:name="android.permission.CAMERA" />
CAMERA PERMISSSION Function
permission 상태를 확인
true면 넘어가고, false면 requestPermission() 함수를 불러온다.
// 카메라 권한 체크
private fun checkPermission(): Boolean {
return (ContextCompat.checkSelfPermission(this, android.Manifest.permission.CAMERA) ==
PackageManager.PERMISSION_GRANTED && ContextCompat.checkSelfPermission(
this,
android.Manifest.permission.READ_EXTERNAL_STORAGE
) == PackageManager.PERMISSION_GRANTED)
}
// 카메라 권한 요청
private fun requestPermission() {
ActivityCompat.requestPermissions(
this, arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.CAMERA),
REQUEST_PERMISSION
)
}
// 권한요청 결과
override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array<out String>,
grantResults: IntArray
) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
if (requestCode == 1 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Log.d(TAG, "Permission success")
} else {
Log.d(TAG, "Fail")
}
}
Album에서 Image 가져오기
override fun onClick(v: View?) {
when(v?.id){
R.id.img_content -> {
// 앨범
var photoPickIntent = Intent(Intent.ACTION_PICK)
photoPickIntent.type = "image/*"
startActivityForResult(photoPickIntent, PICK_IMAGE_FROM_ALBUM)
}
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == PICK_IMAGE_FROM_ALBUM) {
if (resultCode == Activity.RESULT_OK) {
photoUri = data?.data
img_content.setImageURI(photoUri)
} else {
finish()
}
}
}
반응형
'Android > Project #1' 카테고리의 다른 글
[Android/Kotlin] RecyclerView Click 시 DetailActivity에서 Detail한 정보 보여주기 (0) | 2021.07.30 |
---|---|
[Android/Kotlin] Floating Action Button를 이용하여 다른 Activity로 이동하기 (0) | 2021.07.26 |
[Android/Kotlin] BottomNavigationView와 Fragment 연결하기 (0) | 2021.07.19 |
[Android/Kotlin] Splash Screen + Firebase 이용하여 Login/Register 구현하기 (0) | 2021.07.19 |