- sintassi:
<permission android:description="string resource" android:icon="drawable resource" android:label="string resource" android:name="string" android:permissionGroup="string" android:protectionLevel=["normal" | "dangerous" | "signature" | ...] />
- contenuto in:
<manifest>
- description:
- Dichiara un'autorizzazione di sicurezza utilizzata per limitare l'accesso a funzionalità o componenti specifici di questa o di altre applicazioni. Per ulteriori informazioni sul funzionamento delle autorizzazioni, consulta la sezione Autorizzazioni nella panoramica del file manifest dell'app e i Suggerimenti per la sicurezza.
- attributi:
android:description
- Una descrizione leggibile dell'autorizzazione più lunga e più lunga
informativo rispetto all'etichetta. Potrebbe essere mostrato, ad esempio, per spiegare
l'autorizzazione all'utente quando gli viene chiesto
per concedere l'autorizzazione a un'altra applicazione.
Questo attributo è impostato come riferimento a una risorsa stringa. A differenza dell'attributo
label
, non può essere una stringa non elaborata. android:icon
- Un riferimento a una risorsa disegnabile per un'icona che rappresenta autorizzazione.
android:label
- Un nome leggibile per l'autorizzazione.
Per comodità, l'etichetta può essere impostata direttamente come stringa non elaborata durante lo sviluppo dell'applicazione. Tuttavia, quando l'applicazione è pronta per essere pubblicata, impostala come riferimento a una risorsa stringa, in modo che possa essere localizzata come stringhe nell'interfaccia utente.
android:name
- Il nome da utilizzare in
codice per fare riferimento all'autorizzazione, ad esempio in
<uses-permission>
o ilpermission
attributi dei componenti dell'applicazione.Nota: il sistema non consente a più pacchetti di dichiarare un'autorizzazione con lo stesso nome, a meno che tutti i pacchetti siano firmati con lo stesso certificato. Se un pacchetto dichiara un'autorizzazione, il sistema non consente all'utente di installare altri pacchetti con lo stesso nome di autorizzazione, a meno che quei pacchetti sono firmati con lo stesso certificato del primo pacchetto.
Per questo motivo, Google consiglia di anteporre alle autorizzazioni il nome del pacchetto dell'app, con una denominazione in stile dominio inverso. Segui questo prefisso con
.permission.
e poi una descrizione del funzionalità rappresentata dall'autorizzazione nel campo SNAKE_CASE superiore. Ad esempio:com.example.myapp.permission.ENGAGE_HYPERSPACE
.Seguendo questo consiglio si evitano collisioni di denominazione e è possibile identificare chiaramente il proprietario. e l'intenzione di un'autorizzazione personalizzata.
android:permissionGroup
- Assegna questa autorizzazione a un gruppo. Il valore di questo attributo è
il nome del gruppo, che viene dichiarato
<permission-group>
elemento in questo o un'altra applicazione. Se questo attributo non è impostato, l'autorizzazione non appartiene a un gruppo. android:protectionLevel
-
Caratterizza il rischio potenziale implicato nell'autorizzazione e indica la procedura che il sistema deve seguire per determinare se concedere l'autorizzazione a un'applicazione che la richiede.
Ogni livello di protezione è composto da un tipo di autorizzazione di base e da zero o più e i flag facoltativi. Ad esempio, il livello di protezione
"dangerous"
non ha e i flag facoltativi. Al contrario, il livello di protezione"signature|privileged"
è una combinazione del tipo di autorizzazione di base"signature"
e Flag"privileged"
.La tabella seguente mostra tutti i tipi di autorizzazione di base. Per un elenco di segnalazioni, vedi
protectionLevel
.Valore Significato "normal"
Il valore predefinito. Un'autorizzazione a basso rischio che fornisce la richiesta delle applicazioni a funzionalità isolate a livello di applicazione con minimo per le altre applicazioni, il sistema o l'utente. Il sistema concede automaticamente questo tipo di autorizzazione per un'applicazione richiedente al momento dell'installazione, senza chiedere l'approvazione esplicita dell'utente, sebbene quest'ultimo ha la possibilità di controllare queste autorizzazioni prima dell'installazione. "dangerous"
Un'autorizzazione a rischio più elevato che fornisce un'applicazione richiedente l'accesso ai dati privati degli utenti o il controllo sul dispositivo che avere un impatto negativo sull'utente. Poiché questo tipo di autorizzazione comporta un potenziale rischio, il sistema potrebbe non a concedere l'autorizzazione all'applicazione richiedente. Ad esempio, qualsiasi tipo di le autorizzazioni richieste da un'applicazione potrebbero essere visualizzate all'utente e richiedere la conferma prima di procedere o potrebbe essere adottato per evitare che l'utente conceda automaticamente l'uso di tali strutture. "signature"
Un'autorizzazione che il sistema concede solo se il richiedente l'applicazione sia firmata con lo stesso certificato dell'applicazione che ha dichiarato l'autorizzazione. Se i certificati corrispondono, il sistema concede automaticamente l'autorizzazione senza informare l'utente o richiedendo l'approvazione esplicita dell'utente. "knownSigner"
Un'autorizzazione che il sistema concede solo se il richiedente l'applicazione è firmata un consentito certificato. Se il certificato del richiedente è presente nell'elenco, il sistema concede automaticamente l'autorizzazione senza informare l'utente o richiedendo l'approvazione esplicita dell'utente. "signatureOrSystem"
Precedente sinonimo di
"signature|privileged"
. Deprecato nell'API livello 23.Un'autorizzazione che il sistema concede solo alle applicazioni che in una cartella dedicata sull'immagine di sistema Android o che firmato con lo stesso certificato dell'applicazione che ha dichiarato autorizzazione. Evita di utilizzare questa opzione, poiché
"signature"
il livello di protezione è sufficiente per la maggior parte delle esigenze e funziona indipendentemente dalla posizione in cui sono installate le app.La L'autorizzazione
"signatureOrSystem"
viene usata per alcune situazioni in cui più fornitori hanno applicazioni integrate in un sistema dell'immagine e devono condividere caratteristiche specifiche in modo esplicito perché che vengono costruiti insieme.
- introdotto in:
- Livello API 1
- vedi anche:
<uses-permission>
<permission-tree>
<permission-group>
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2024-08-22 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Mancano le informazioni di cui ho bisogno"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Troppo complicato/troppi passaggi"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Obsoleti"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problema di traduzione"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problema relativo a esempi/codice"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Altra"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Facile da capire"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Il problema è stato risolto"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Altra"
}]
{"lastModified": "Ultimo aggiornamento 2024-08-22 UTC."}
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2024-08-22 UTC."]]