Normal permission (internet, vibrate) được cấp tự động khi cài đặt.
- Dangerous permission (camera, location, contacts) phải xin lúc runtime.
- Để xin runtime permission: tạo
ActivityResultContract, dùngregisterForActivityResult(), và kiểm traContextCompat.checkSelfPermission(context, permission) == PackageManager.PERMISSION_GRANTEDtrước khi dùng tính năng được bảo vệ. - Từ Android 6 trở đi, bỏ qua runtime permission sẽ làm app crash.
Normal permissions (internet, vibrate) are granted at install time.
- Dangerous permissions (camera, location, contacts) require runtime requests.
- To request runtime permissions: create an
ActivityResultContract, request usingregisterForActivityResult(), and checkContextCompat.checkSelfPermission(context, permission) == PackageManager.PERMISSION_GRANTEDbefore using protected features. - Starting from Android 6, skipping runtime permission requests will crash the app.