- Syntax:
<permission android:description="string resource" android:icon="drawable resource" android:label="string resource" android:name="string" android:permissionGroup="string" android:protectionLevel=["normal" | "dangerous" | "signature" | ...] />
- enthalten in:
<manifest>
- description:
- Deklariert eine Sicherheitsberechtigung für den Zugriff auf bestimmte Komponenten oder Funktionen dieser oder einer anderen Anwendung zu beschränken. Weitere Informationen zur Funktionsweise von Berechtigungen finden Sie im Abschnitt Berechtigungen in der App-Manifestübersicht und in den Sicherheitstipps.
- Attribute:
android:description
- Eine für Nutzer lesbare Beschreibung der Berechtigung, die länger und umfangreicher ist
informativ ist als das Label. Es kann beispielsweise angezeigt werden, um
Berechtigung erteilt, wenn der Nutzer danach gefragt wird,
um einer anderen Anwendung
die Berechtigung zu gewähren.
Dieses Attribut wird als Verweis auf eine String-Ressource festgelegt. Im Gegensatz zum Attribut
label
darf es sich nicht um einen Rohstring handeln. android:icon
- Ein Verweis auf eine Drawable-Ressource für ein Symbol, das das Berechtigung.
android:label
- Ein für Nutzer lesbarer Name für die Berechtigung.
Der Einfachheit halber kann das Label direkt bei der Entwicklung der Anwendung als Rohstring verwenden. Sie können jedoch wenn die Anwendung zur Veröffentlichung bereit ist, legen Sie sie als auf eine Zeichenfolgenressource verweisen, damit sie wie andere in der Benutzeroberfläche.
android:name
- Der zu verwendende Name
zum Verweisen auf die Berechtigung, z. B.
<uses-permission>
-Element oder daspermission
-Attribute der Anwendungskomponenten.Hinweis:Das System lässt nicht zu, dass mehrere Pakete eine Berechtigung mit demselben Namen, es sei denn, alle Pakete sind mit dem über dasselbe Zertifikat. Wenn ein Paket eine Berechtigung deklariert, erlaubt das System keine Nutzer, andere Pakete mit demselben Berechtigungsnamen zu installieren, es sei denn, diese Pakete mit demselben Zertifikat wie das erste Paket signiert sind.
Aus diesem Grund empfiehlt Google, den Berechtigungen den Paketnamen der App, und dabei die umgekehrte Domain-ähnliche Benennung. Folgen Sie diesem Präfix mit
.permission.
und dann einer Beschreibung des -Funktion, die die Berechtigung in Großbuchstaben SNAKE_CASE darstellt. Hier einige Beispiele:com.example.myapp.permission.ENGAGE_HYPERSPACE
Wenn Sie dieser Empfehlung folgen, vermeiden Sie Namenskonflikte und können den Inhaber eindeutig identifizieren. und Zweck einer benutzerdefinierten Berechtigung.
android:permissionGroup
- Weist diese Berechtigung einer Gruppe zu. Der Wert dieses Attributs ist
der Name der Gruppe, der mit dem
<permission-group>
Element in dieser oder eine andere Anwendung nutzen. Wenn dieses Attribut nicht festgelegt ist, zu einer Gruppe gehört. android:protectionLevel
-
Charakterisiert das potenzielle Risiko, das in der Genehmigung enthalten ist, und gibt an, wie das System zur Bestimmung ob einer Anwendung, die sie anfordert, die Berechtigung gewährt werden soll.
Jedes Schutzniveau besteht aus einem grundlegenden Berechtigungstyp und null oder mehr Flags. Die Schutzstufe
"dangerous"
hat beispielsweise keine Flags. Im Gegensatz dazu hat das Schutzniveau von"signature|privileged"
ist eine Kombination aus dem grundlegenden Berechtigungstyp"signature"
und dem"privileged"
-Flag.In der folgenden Tabelle sind alle grundlegenden Berechtigungstypen aufgeführt. Eine Liste der Flags finden Sie unter
protectionLevel
Wert Bedeutung "normal"
Der Standardwert. Eine Berechtigung mit geringerem Risiko, die das Senden von Anfragen Zugriff auf isolierte Funktionen auf Anwendungsebene mit für andere Anwendungen, das System oder den Nutzer. Das System weist diesen Typ automatisch zu einer anfragenden Anwendung bei der Installation gewährt, um die ausdrückliche Zustimmung des Nutzers zu bitten, hat die Möglichkeit, diese Berechtigungen vor der Installation zu überprüfen. "dangerous"
Berechtigung mit höherem Risiko, die einer anfragenden Anwendung gewährt auf private Nutzerdaten zugreifen oder das Gerät steuern können, sich negativ auf die Nutzenden auswirken. Da diese Art der Berechtigung potenzielle Risiken darstellt, kann das System nicht automatisch der anfragenden Anwendung zu gewähren. Zum Beispiel sind gefährliche Berechtigungen, die von einer Anwendung angefordert werden, können dem Nutzer und erfordern eine Bestätigung, bevor sie fortfahren können, oder eine andere kann vermieden werden, dass der Nutzer automatisch eine Genehmigung erteilt, der Nutzung solcher Einrichtungen. "signature"
Eine Berechtigung, die vom System nur gewährt wird, wenn die anfragende Anwendung ist mit demselben Zertifikat wie die Anwendung signiert der die Berechtigung erklärt hat. Stimmen die Zertifikate überein, Die Berechtigung wird automatisch gewährt, ohne dass der Nutzer oder um die ausdrückliche Zustimmung des Nutzers zu bitten. "knownSigner"
Eine Berechtigung, die vom System nur gewährt wird, wenn die anfragende Anwendung ist signiert mit eine zulässige Zertifikat. Wenn das Zertifikat des Anforderers aufgeführt ist, Die Berechtigung wird automatisch gewährt, ohne dass der Nutzer oder um die ausdrückliche Zustimmung des Nutzers zu bitten. "signatureOrSystem"
Altes Synonym für
"signature|privileged"
. In API eingestellt Level 23.Eine Berechtigung, die vom System nur Anwendungen gewährt wird, die die sich in einem speziellen Ordner im Android-System-Image befinden, oder die mit demselben Zertifikat signiert ist wie die Anwendung, die den Berechtigung. Vermeiden Sie die Verwendung dieser Option, da die
"signature"
für die meisten Anforderungen ausreichen und wo die Apps installiert sind.Die Die Berechtigung
"signatureOrSystem"
wird für bestimmte spezielle Situationen, in denen mehrere Anbieter Anwendungen in ein System integriert haben. und müssen bestimmte Funktionen ausdrücklich teilen, da sie gemeinsam entwickelt.
- eingeführt in:
- API-Level 1
- Siehe auch:
<uses-permission>
<permission-tree>
<permission-group>
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2024-08-20 (UTC).
[]
[]
{
"last_modified": "Zuletzt aktualisiert: 2024-08-20 (UTC).",
"state": ""
}