[안드로이드] 권한요청
//Manifest에 권한 추가
<uses-permission android:name="android.permission.CAMERA" />
//PermissionActivity.kt
class PermissionActivity : AppCompatActivity() {
private lateinit var binding: ActivityPermissionBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityPermissionBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.buttonpermission.setOnClickListener {
//1. 권한을 Manifest에 추가한다.
//2. 내가 얻으려는 권한이 이미 허락 되었는지 아니지 체크
val cameraPermissionCheck =
ContextCompat.checkSelfPermission(this, android.Manifest.permission.CAMERA)
//권한이 없는 경우 권한을 요청한다
//둘의 int값이 같으면 권한이 있는 것이다.
if (cameraPermissionCheck != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(
this,
arrayOf(android.Manifest.permission.CAMERA),//권한을 array형태로 줘야한다.
1000
)
}
//권한이 있는 경우
else {
Log.e("permissionss", "권한이 이미 있음")
}
}
}
override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array<out String>,
grantResults: IntArray
) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
if (requestCode == 1000)//내가 준 requestcode가 맞는지 체크 {
//권한을 array로 줬으니까, 받는것도 array로 받음. grantResults[확인하고싶은 index]
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Log.e("permissionss", "승락")
} else {
Log.e("permissionss", "거부")
}
}
}
}
Author And Source
이 문제에 관하여([안드로이드] 권한요청), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@nagosooo/안드로이드-권한요청저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)