Dichiarare le autorizzazioni app

Come indicato nel flusso di lavoro per l'utilizzo autorizzazioni, se la tua app richiede l'app autorizzazioni, devi dichiararle nel file manifest dell'app. Queste dichiarazioni aiutano gli store e gli utenti a comprendere l'insieme di autorizzazioni richiesti dalla tua app.

La procedura per richiedere un'autorizzazione dipende dal tipo di autorizzazione:

di Gemini Advanced.

Aggiungi dichiarazione al file manifest dell'app

Per dichiarare un'autorizzazione che la tua app potrebbe richiedere, includi i dati appropriati Elemento <uses-permission> in il file manifest dell'app. Ad esempio, un'app che deve accedere alla fotocamera ha questa riga in AndroidManifest.xml:

<manifest ...>
    <uses-permission android:name="android.permission.CAMERA"/>
    <application ...>
        ...
    </application>
</manifest>

Dichiara l'hardware come facoltativo

Alcune autorizzazioni, ad esempio CAMERA, consenti alla tua app accedere a elementi hardware di cui dispongono solo alcuni dispositivi Android. Se la tua app dichiara uno dei seguenti contenuti associati all'hardware autorizzazioni, valuta se la tua app può ancora essere eseguita su un dispositivo sprovvisto di questo hardware. Nella maggior parte dei casi, l'hardware è facoltativo, quindi è meglio dichiarare hardware come facoltativo impostando android:required su false nel <uses-feature>, come mostrato nel seguente snippet di codice da un file AndroidManifest.xml:

<manifest ...>
    <application>
        ...
    </application>
    <uses-feature android:name="android.hardware.camera"
                  android:required="false" />
<manifest>

Determinare la disponibilità dell'hardware

Se dichiari l'hardware come facoltativo, l'app può essere eseguita su un su un dispositivo privo di questo hardware. Per verificare se un dispositivo ha una specifica utilizzare l'hardware hasSystemFeature() come mostrato nello snippet di codice riportato di seguito. Se l'hardware non è disponibile, disattivare delicatamente la funzionalità nella tua app.

Kotlin

// Check whether your app is running on a device that has a front-facing camera.
if (applicationContext.packageManager.hasSystemFeature(
        PackageManager.FEATURE_CAMERA_FRONT)) {
    // Continue with the part of your app's workflow that requires a
    // front-facing camera.
} else {
    // Gracefully degrade your app experience.
}

Java

// Check whether your app is running on a device that has a front-facing camera.
if (getApplicationContext().getPackageManager().hasSystemFeature(
        PackageManager.FEATURE_CAMERA_FRONT)) {
    // Continue with the part of your app's workflow that requires a
    // front-facing camera.
} else {
    // Gracefully degrade your app experience.
}

Dichiara le autorizzazioni per livello API

Per dichiarare un'autorizzazione solo sui dispositivi che supportano le autorizzazioni di runtime, i dispositivi con Android 6.0 (livello API 23) o versioni successive, tra cui <uses-permission-sdk-23> anziché l'elemento <uses-permission>.

Quando utilizzi uno di questi elementi, puoi impostare l'attributo maxSdkVersion per indicare che i dispositivi con una versione di Android successiva a il valore specificato non richiede un'autorizzazione particolare. Questo consente di elimina le autorizzazioni non necessarie e garantisce la compatibilità per i dispositivi meno recenti.

Ad esempio, la tua app potrebbe mostrare contenuti multimediali, come foto o video creati dall'utente mentre utilizzava la tua app. In questa situazione, non c'è bisogno di usare READ_EXTERNAL_STORAGE sui dispositivi Eseguire Android 10 (livello API 29) o versioni successive, purché la tua app abbia come target Android 10 o versioni successive. Tuttavia, per la compatibilità con dispositivi meno recenti, puoi dichiarare l'autorizzazione READ_EXTERNAL_STORAGE e impostare Da android:maxSdkVersion a 28.