fun hasPermission():Boolean {
val permission = ActivityCompat.checkSelfPermission(this,
android.Manifest.permission.CAMERA)
return permission == PackageManager.PERMISSION_GRANTED
在執行時期向使用者要求權限
fun requestPermission() {
ActivityCompat.requestPermissions(this,
arrayOf(android.Manifest.permission.CAMERA),
REQUEST_CAMERA_PERMISSION
處理使用者對權限請求的回應
override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array<out String>,
grantResults: IntArray
if(requestCode == REQUEST_CAMERA_PERMISSION) {
if(grantResults.isNotEmpty()> 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
enableCamera()
} else {
Toast.makeText(this, "必須許可,才能使用相機", Toast.LENGTH_SHORT).show()
使用內建相機
override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array<out String>,
grantResults: IntArray
if(requestCode == REQUEST_CAMERA_PERMISSION) {
if(grantResults.isNotEmpty()> 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
enableCamera()
} else {
Toast.makeText(this, "必須許可,才能使用相機", Toast.LENGTH_SHORT).show()