-
Notifications
You must be signed in to change notification settings - Fork 34
Expand file tree
/
Copy pathCameraPermissionActivity.kt
More file actions
65 lines (53 loc) · 1.88 KB
/
CameraPermissionActivity.kt
File metadata and controls
65 lines (53 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package com.ipcamera
import android.content.Context
import android.content.pm.PackageManager
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import com.ipcamera.databinding.CameraPermissionActivityBinding
class CameraPermissionActivity : AppCompatActivity() {
companion object {
private const val PERMISSION_REQ_CODE = 1000
fun hasPermission(context: Context) : Boolean {
return ContextCompat.checkSelfPermission(context, android.Manifest.permission.CAMERA) ==
PackageManager.PERMISSION_GRANTED
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
EdgeToEdge.setDecorFitsSystemWindows(
window = window,
fitSystemWindows = false,
)
val binding = CameraPermissionActivityBinding.inflate(layoutInflater)
setContentView(binding.root)
EdgeToEdge.setInsetsHandler(
root = binding.root,
handler = DefaultInsetsHandler(),
)
binding.buttonContinue.setOnClickListener {
requestPermissions(
arrayOf(
android.Manifest.permission.CAMERA,
),
PERMISSION_REQ_CODE
)
}
}
override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array<out String>,
grantResults: IntArray
) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
if (requestCode == PERMISSION_REQ_CODE) {
if (grantResults.size != 1 ||
grantResults[0] != PackageManager.PERMISSION_GRANTED
) {
Toast.makeText(this, "Permission denied", Toast.LENGTH_LONG).show()
}
finish()
}
}
}