Model uprawnień Androida
Poznaj uprawnienia przy instalacji i w czasie działania
Model uprawnień Androida to bezpłatna lekcja Android Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Android Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Android Academy zawiera 4 lekcji w sumie.
Model uprawnień
Android chroni poufne dane i funkcje za pomocą uprawnień. Aplikacja musi zadeklarować, czego potrzebuje, a w przypadku elementów wrażliwych poprosić użytkownika o zgodę w czasie działania.
Zrozumienie tych dwóch kategorii jest podstawą prawidłowej implementacji.
Deklarowanie w manifeście
Każde uprawnienie używane przez aplikację należy zadeklarować w pliku AndroidManifest.xml za pomocą tagu <uses-permission>. Dotyczy to obu kategorii.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />Uprawnienia zwykłe (przy instalacji)
Uprawnienia zwykłe wiążą się z niewielkim ryzykiem dla prywatności. System przyznaje je automatycznie podczas instalacji. Użytkownik nigdy nie widzi prośby o zgodę.
INTERNETACCESS_NETWORK_STATEVIBRATE
Wystarczy je zadeklarować, aby zaczęły działać.
Uprawnienia niebezpieczne (w czasie działania)
Uprawnienia niebezpieczne chronią prywatne dane użytkownika lub funkcje urządzenia. Użytkownik musi wyraźnie przyznać je w czasie działania, a później może je odebrać w Ustawieniach.
CAMERAACCESS_FINE_LOCATIONREAD_CONTACTSRECORD_AUDIO
Grupy uprawnień
Uprawnienia niebezpieczne należą do grup (np. lokalizacja, kontakty). System wyświetla użytkownikowi jeden przyjazny opis grupy zamiast surowych nazw uprawnień.
Dlaczego istnieją uprawnienia przyznawane w czasie działania
Przed Androidem 6.0 użytkownicy przyznawali wszystkie uprawnienia podczas instalacji albo nie przyznawali ich wcale. Uprawnienia przyznawane w czasie działania dają użytkownikom szczegółową kontrolę, którą można cofnąć, i wymagają zgody dopiero wtedy, gdy dana funkcja jest rzeczywiście używana.
Buduje to zaufanie, ponieważ użytkownicy widzą prośbę w odpowiednim kontekście.
Sprawdzanie, czy uprawnienie zostało już przyznane
Zawsze sprawdzaj uprawnienie przed użyciem chronionej funkcji. ContextCompat.checkSelfPermission zwraca informację, czy uprawnienie jest obecnie przyznane.
val granted = ContextCompat.checkSelfPermission(
context,
Manifest.permission.CAMERA
) == PackageManager.PERMISSION_GRANTEDUprawnienia specjalne
Niektóre funkcje nie należą ani do uprawnień zwykłych, ani do standardowych uprawnień niebezpiecznych; są to uprawnienia specjalne, które wymagają włączenia przełącznika przez użytkownika na osobnym ekranie Ustawień systemowych, na przykład „Wyświetlanie nad innymi aplikacjami” lub „Dostęp do wszystkich plików”.
Uprawnienia mogą się zmieniać zależnie od poziomu API
Klasyfikacja i działanie uprawnień ewoluują. Na przykład POST_NOTIFICATIONS stało się uprawnieniem przyznawanym w czasie działania dopiero w Androidzie 13. Zawsze sprawdzaj dokumentację dla obsługiwanych poziomów API.
Złota zasada
Nigdy nie zakładaj, że masz dane uprawnienie. Schemat postępowania zawsze wygląda tak:
- Zadeklaruj uprawnienie w manifeście
- Sprawdź je w czasie działania
- Jeśli nie zostało przyznane, poproś o nie
- Obsłuż przyznanie i odmowę w odpowiedni sposób
Zasada najmniejszych uprawnień
Należy deklarować i żądać tylko tego, czego naprawdę Państwo potrzebują. Każde dodatkowe niebezpieczne uprawnienie obniża zaufanie użytkowników i może wywołać kontrolę zgodności z zasadami Play Store. Wrócimy do tego w lekcji poświęconej prywatności.
Szybkie sprawdzenie
Sprawdź swoją wiedzę na temat modelu uprawnień.
Podsumowanie
Opanowali Państwo model uprawnień Androida:
- Wszystkie uprawnienia są deklarowane w manifeście
- Uprawnienia Normal są przyznawane automatycznie podczas instalacji
- Uprawnienia Dangerous wymagają wyraźnej zgody w czasie działania i można je cofnąć
- Zawsze należy sprawdzać uprawnienia przed użyciem; niektóre możliwości wymagają uprawnień specjalnych
Następnie: żądanie uprawnień w Compose.
Często zadawane pytania
Czy lekcja „Model uprawnień Androida” jest bezpłatna?
Tak — pełny tekst „Model uprawnień Androida” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Android Academy, przejdź na CoddyKit PRO. Kurs Android Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Model uprawnień Androida”?
Poznaj uprawnienia przy instalacji i w czasie działania Ćwiczysz Android Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Android Academy?
Nie wymagamy żadnego doświadczenia. Android Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Model uprawnień Androida”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Android Academy?
Tak. Każda lekcja Android Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Model uprawnień Androida
- Żądanie uprawnień w Compose
- Obsługa odmów i uzasadnianie próśb
- Dobre praktyki ochrony prywatności