Lenguaje

MediaStore.CreateWriteRequest(ContentResolver, ICollection<Uri>) Método

Definición

Cree un objeto PendingIntent que pedirá al usuario que conceda acceso de escritura a la aplicación para los elementos multimedia solicitados.

[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

Parámetros

resolver
ContentResolver

Se usa para conectarse con MediaStore#AUTHORITY. Normalmente, este valor es Context#getContentResolver(), pero si necesita controles de ciclo de vida más explícitos, puede obtener y ContentProviderClient encapsularlo mediante ContentResolver#wrap(ContentProviderClient).

uris
ICollection<Uri>

Conjunto de elementos multimedia que se van a incluir en esta solicitud. Cada elemento debe estar hospedado por MediaStore#AUTHORITY y debe hacer referencia a un elemento multimedia específico por BaseColumns#_ID.

Devoluciones

Atributos

Comentarios

Cree un objeto PendingIntent que pedirá al usuario que conceda acceso de escritura a la aplicación para los elementos multimedia solicitados.

Esta llamada solo genera la solicitud de un mensaje; para mostrar el símbolo del sistema, llame a Activity#startIntentSenderForResult con PendingIntent#getIntentSender(). A continuación, puede determinar si el usuario concedió la solicitud probando Activity#RESULT_OK en Activity#onActivityResult. La operación solicitada habrá finalizado completamente antes de que se entregue este resultado de la actividad.

Los permisos concedidos a través de este mecanismo están vinculados al ciclo de vida de los Activity que los solicita. Si necesita conservar el acceso a largo plazo para las acciones en segundo plano, puede colocar elementos en o ClipDataIntent que, a continuación, se pueden pasar a Context#startService o android.app.job.JobInfo.Builder#setClipData. Asegúrese de incluir los modos de acceso pertinentes que quiera conservar, como Intent#FLAG_GRANT_WRITE_URI_PERMISSION.

El mensaje mostrado reflejará todos los elementos multimedia que solicita, incluidos los para los que ya contiene acceso de escritura. Si desea determinar si ya contiene acceso de escritura antes de solicitar acceso, use Context#checkUriPermission(Uri, int, int, int) con Intent#FLAG_GRANT_WRITE_URI_PERMISSION.

Por motivos de seguridad y rendimiento, este método no admite Intent#FLAG_GRANT_PERSISTABLE_URI_PERMISSION ni Intent#FLAG_GRANT_PREFIX_URI_PERMISSION.

El acceso de escritura concedido a través de esta solicitud es de uso general y, una vez obtenido, puede obtener directamente ContentResolver#update columnas como MediaColumns#IS_FAVORITE, MediaColumns#IS_TRASHEDo ContentResolver#delete.

Nota: si los destinos android.os.Build.VERSION_CODES#BAKLAVA de la aplicación y versiones posteriores, puedes enviar un máximo de 2000 URI en cada solicitud. Si intenta enviar más de 2000 URI, se producirá un java.lang.IllegalArgumentException.

Java documentación para android.provider.MediaStore.createWriteRequest(android.content.ContentResolver, java.util.Collection<android.net.Uri>).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a