C.3 Berechtigungen
Die Kennzeichnung gefährlich bedeutet, dass die Berechtigung in der Manifestdatei und im Programmcode angefordert werden muss. Normale Berechtigungen werden vom System implizit gewährt. In diesem Fall reicht die Deklaration im Manifest.
Prüfen und Anfordern einer Berechtigung
if (checkSelfPermission(Manifest.permission.READ_PHONE_NUMBERS)
!= PackageManager.PERMISSION_GRANTED) {
if (shouldShowRequestPermissionRationale(
Manifest.permission.READ_PHONE_NUMBERS)) {
..
} else {
requestPermissions(arrayOf(
Manifest.permission.READ_PHONE_NUMBERS),
REQUEST_READ_PHONE_NUMBER)
}
} else {
...
}
Auf Gewähren oder Verweigern einer Berechtigung reagieren
override fun onRequestPermissionsResult(requestCode: Int,
permissions: Array<String>,
grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions,
grantResults)
if (requestCode == REQUEST_READ_PHONE_NUMBER) {
if (grantResults.isNotEmpty() && grantResults[0]
== PackageManager.PERMISSION_GRANTED) {
// erlaubt
} else {
// nicht erlaubt
}
}
}
C.3.1 Hardware, Telefonie und Netzwerk
Anrufe tätigen
android.permission.CALL_PHONE (gefährlich)
Telefonstatus auslesen
android.permission.READ_PHONE_STATE (gefährlich)
Netzwerkstatus abrufen
android.permission.ACCESS_NETWORK_STATE (normal)
Zugriff auf Location Provider
android.permission.ACCESS_COARSE_LOCATION (gefährlich)
android.permission.ACCESS_FINE_LOCATION (gefährlich)
Bluetooth
android.permission.BLUETOOTH (normal)
android.permission.BLUETOOTH_ADMIN (normal)
[»] Hinweis
Zusätzlich ist entweder android.permission.ACCESS_COARSE_LOCATION oder android.permission.ACCESS_FINE_LOCATION erforderlich.
C.3.2 Internet
Zugriff auf Internet
android.permission.INTERNET (normal)
C.3.3 Audio und Video
Audioeinstellungen ändern
android.permission.MODIFY_AUDIO_SETTINGS (normal)
Audio aufnehmen
android.permission.RECORD_AUDIO (gefährlich)
Auf Kamera zugreifen
android.permission.CAMERA (gefährlich)
[»] Hinweis
Wird diese Berechtigung angefordert, sollte ein entsprechendes <uses-feature />-Element in der Manifestdatei vorhanden sein.
C.3.4 Kontakte und Kalender
Auf Kalender zugreifen
android.permission.READ_CALENDAR (gefährlich)
android.permission.WRITE_CALENDAR (gefährlich)
Alarm setzen
com.android.alarm.permission.SET_ALARM (normal)
Auf Kontakte zugreifen
android.permission.READ_CONTACTS (gefährlich)
android.permission.WRITE_CONTACTS (gefährlich)
Auf die Anrufhistorie zugreifen
android.permission.READ_CALL_LOG (gefährlich)
android.permission.WRITE_CALL_LOG (gefährlich)
C.3.5 Sonstiges
Aktivitäten und Sensoren
android.permission.ACTIVITY_RECOGNITION (gefährlich)
android.permission.USE_BIOMETRIC (normal)
Information am Ende des Boot-Vorgangs
android.permission.RECEIVE_BOOT_COMPLETED (normal)
Services
android.permission.FOREGROUND_SERVICE (normal)
Nach Paketen suchen
android.permission.QUERY_ALL_PACKAGES (normal)