package com.example.permission
import android.Manifest
import android.content.pm.PackageManager
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btnCamera.setOnClickListener {
checkPermission()
}
}
fun checkCameraPermission() {
val cameraPermission = ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
if (cameraPermission == PackageManager.PERMISSION_GRANTED) {
startProcess()
} else {
requestPermission()
}
}
fun startProcess() {
Toast.makeText(this, "카메라가 승인되었습니다.", Toast.LENGTH_LONG).show()
}
val FlAG_CAMERA = 99
fun requestPermission() {
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.CAMERA), FlAG_CAMERA)
}
override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array<out String>,
grantResults: IntArray
) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
when (requestCode) {
FlAG_CAMERA -> {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
startProcess()
} else {
finish()
}
}
}
}
}
오류 어떻게 해결하나요?