Lingua

MediaStore.CreateWriteRequest(ContentResolver, ICollection<Uri>) Metodo

Definizione

Creare un oggetto PendingIntent che richiederà all'utente di concedere all'app l'accesso in scrittura per gli elementi multimediali richiesti.

[Android.Runtime.Register("createWriteRequest", "(Landroid/content/ContentResolver;Ljava/util/Collection;)Landroid/app/PendingIntent;", "", ApiSince=30)]
public static Android.App.PendingIntent CreateWriteRequest(Android.Content.ContentResolver resolver, System.Collections.Generic.ICollection<Android.Net.Uri> uris);
[<Android.Runtime.Register("createWriteRequest", "(Landroid/content/ContentResolver;Ljava/util/Collection;)Landroid/app/PendingIntent;", "", ApiSince=30)>]
static member CreateWriteRequest : Android.Content.ContentResolver * System.Collections.Generic.ICollection<Android.Net.Uri> -> Android.App.PendingIntent

Parametri

resolver
ContentResolver

Usato per connettersi con MediaStore#AUTHORITY. In genere questo valore è Context#getContentResolver(), ma se sono necessari controlli più espliciti del ciclo di vita, è possibile ottenere un ContentProviderClient oggetto ed eseguire il wrapping usando ContentResolver#wrap(ContentProviderClient).

uris
ICollection<Uri>

Set di elementi multimediali da includere in questa richiesta. Ogni elemento deve essere ospitato da MediaStore#AUTHORITY e deve fare riferimento a un elemento multimediale specifico da BaseColumns#_ID.

Valori restituiti

Attributi

Commenti

Creare un oggetto PendingIntent che richiederà all'utente di concedere all'app l'accesso in scrittura per gli elementi multimediali richiesti.

Questa chiamata genera solo la richiesta di una richiesta; per visualizzare il prompt, chiamare Activity#startIntentSenderForResult con PendingIntent#getIntentSender(). È quindi possibile determinare se l'utente ha concesso la richiesta testando in Activity#RESULT_OKActivity#onActivityResult. L'operazione richiesta verrà completata completamente prima che il risultato dell'attività venga recapitato.

Le autorizzazioni concesse tramite questo meccanismo sono associate al ciclo di vita dell'oggetto Activity che le richiede. Se è necessario mantenere l'accesso a lungo termine per le azioni in background, è possibile inserire elementi in un ClipData oggetto o Intent che possono essere passati a Context#startService o android.app.job.JobInfo.Builder#setClipData. Assicurarsi di includere tutte le modalità di accesso pertinenti da conservare, ad esempio Intent#FLAG_GRANT_WRITE_URI_PERMISSION.

La richiesta visualizzata rifletterà tutti gli elementi multimediali richiesti, inclusi quelli per i quali si dispone già dell'accesso in scrittura. Se si vuole determinare se si dispone già dell'accesso in scrittura prima di richiedere l'accesso, usare Context#checkUriPermission(Uri, int, int, int) con Intent#FLAG_GRANT_WRITE_URI_PERMISSION.

Per motivi di sicurezza e prestazioni, questo metodo non supporta Intent#FLAG_GRANT_PERSISTABLE_URI_PERMISSION o Intent#FLAG_GRANT_PREFIX_URI_PERMISSION.

L'accesso in scrittura concesso tramite questa richiesta è generico e, una volta ottenuto, è possibile ottenere direttamente ContentResolver#update colonne come MediaColumns#IS_FAVORITE, MediaColumns#IS_TRASHEDo ContentResolver#delete.

Nota: se l'app è destinata android.os.Build.VERSION_CODES#BAKLAVA e versioni successive, puoi inviare un massimo di 2000 URI in ogni richiesta. Se si tenta di inviare più di 2000 URI, verrà generato un oggetto java.lang.IllegalArgumentException.

per android.provider.MediaStore.createWriteRequest(android.content.ContentResolver, java.util.Collection<android.net.Uri>).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a