Idioma

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

Definição

Crie um PendingIntent que solicitará que o usuário conceda ao seu aplicativo acesso de gravação para os itens de mídia 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

Usado para se conectar com MediaStore#AUTHORITY. Normalmente, esse valor é Context#getContentResolver(), mas se você precisar de controles de ciclo de vida mais explícitos, poderá obtê-lo ContentProviderClient e embrulhá-lo usando ContentResolver#wrap(ContentProviderClient).

uris
ICollection<Uri>

O conjunto de itens de mídia a serem incluídos nesta solicitação. Cada item deve ser hospedado e MediaStore#AUTHORITY deve referenciar um item de mídia específico por BaseColumns#_ID.

Retornos

Atributos

Comentários

Crie um PendingIntent que solicitará que o usuário conceda ao seu aplicativo acesso de gravação para os itens de mídia solicitados.

Essa chamada gera apenas a solicitação de um prompt; para exibir o prompt, chame Activity#startIntentSenderForResult com PendingIntent#getIntentSender(). Em seguida, você pode determinar se o usuário concedeu sua solicitação testando em Activity#RESULT_OKActivity#onActivityResult. A operação solicitada terá sido concluída completamente antes que esse resultado da atividade seja entregue.

As permissões concedidas por meio desse mecanismo estão vinculadas ao ciclo de vida do Activity que as solicita. Se você precisar manter o acesso a longo prazo para ações em segundo plano, poderá colocar itens em um ClipData ou Intent que podem ser passados para Context#startService ou android.app.job.JobInfo.Builder#setClipData. Certifique-se de incluir todos os modos de acesso relevantes que você deseja reter, como Intent#FLAG_GRANT_WRITE_URI_PERMISSION.

O prompt exibido refletirá todos os itens de mídia que você está solicitando, incluindo aqueles para os quais você já tem acesso de gravação. Se você quiser determinar se já tem acesso à gravação antes de solicitar acesso, use Context#checkUriPermission(Uri, int, int, int) com Intent#FLAG_GRANT_WRITE_URI_PERMISSION.

Por motivos de segurança e desempenho, esse método não dá suporte Intent#FLAG_GRANT_PERSISTABLE_URI_PERMISSION ou Intent#FLAG_GRANT_PREFIX_URI_PERMISSION.

O acesso de gravação concedido por meio dessa solicitação é de uso geral e, uma vez obtido, você pode obter diretamente ContentResolver#update colunas como MediaColumns#IS_FAVORITE, MediaColumns#IS_TRASHEDou ContentResolver#delete.

Observação: se o aplicativo for direcionado android.os.Build.VERSION_CODES#BAKLAVA e superior, você poderá enviar um máximo de 2.000 uris em cada solicitação. A tentativa de enviar mais de 2.000 uris resultará em um java.lang.IllegalArgumentException.

Documentação Java para android.provider.MediaStore.createWriteRequest(android.content.ContentResolver, java.util.Collection<android.net.Uri>).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.

Aplica-se a