MediaStore.CreateWriteRequest(ContentResolver, ICollection<Uri>) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.
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.