Sobes.tech
Middle

Mi a különbség a normál és veszélyes engedélyek között az Androidban?

sobes.tech MI

Válasz az MI-től

Androidon a jogosultságokat két kategóriába sorolják: normál és veszélyes.

  • Normál jogosultságok automatikusan megadódnak az alkalmazás telepítésekor, nem igényelnek kifejezett hozzájárulást a felhasználótól. Nem jelentenek jelentős kockázatot más alkalmazások adatvédelmére vagy működésére. Példák: internet hozzáférés, hálózati állapot hozzáférése, vibráció lehetősége.

  • Veszélyes jogosultságok veszélyeztethetik a felhasználó magánéletét vagy a készülék normál működését. Ezeket egyértelműen jóvá kell hagyni a felhasználónak az alkalmazás futtatása közben. Példák: kapcsolatokhoz való hozzáférés, helymeghatározáshoz való hozzáférés, kamera hozzáférés.

Különbségek:

Jellemző Normál jogosultságok Veszélyes jogosultságok
Engedélyezés Automatikusan telepítéskor Futtatás közben kérdezi
Felhasználói hozzájárulás Nem szükséges Egyértelmű jóváhagyás szükséges
Kockázati szint Alacsony Magas
Hatás a magánéletre Minimális Magas
API szint Főként API 23+ elérhető Kezelést igényel Android 6.0+ esetén

Flutterben veszélyes jogosultságokkal való munkánál a permission_handler csomagot használják a jogosultságok kérésére és állapotának ellenőrzésére.

  import 'package:permission_handler/permission_handler.dart';

  // Kamera jogosultság állapotának ellenőrzése
  Future<void> checkCameraPermission() async {
    var status = await Permission.camera.status;
    if (status.isGranted) {
      // Jogosultság megadva
    } else if (status.isDenied) {
      // Jogosultság elutasítva
      // Újra kérhető
      await requestCameraPermission();
    } else if (status.isPermanentlyDenied) {
      // Jogosultság véglegesen elutasítva, a felhasználót az beállításokra irányítjuk
      openAppSettings();
    }
  }

  // Jogosultság kérés a kamera eléréséhez
  Future<void> requestCameraPermission() async {
    var status = await Permission.camera.request();
    if (status.isGranted) {
      // Jogosultság megadva
    } else {
      // Jogosultság elutasítva
    }
  }