Compartilhar via


IOnReceiveContentListener.OnReceiveContent(View, ContentInfo) Método

Definição

Receba o conteúdo fornecido.

[Android.Runtime.Register("onReceiveContent", "(Landroid/view/View;Landroid/view/ContentInfo;)Landroid/view/ContentInfo;", "GetOnReceiveContent_Landroid_view_View_Landroid_view_ContentInfo_Handler:Android.Views.IOnReceiveContentListenerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=31)]
public Android.Views.ContentInfo? OnReceiveContent (Android.Views.View view, Android.Views.ContentInfo payload);
[<Android.Runtime.Register("onReceiveContent", "(Landroid/view/View;Landroid/view/ContentInfo;)Landroid/view/ContentInfo;", "GetOnReceiveContent_Landroid_view_View_Landroid_view_ContentInfo_Handler:Android.Views.IOnReceiveContentListenerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=31)>]
abstract member OnReceiveContent : Android.Views.View * Android.Views.ContentInfo -> Android.Views.ContentInfo

Parâmetros

view
View

A exibição onde a inserção de conteúdo foi solicitada.

payload
ContentInfo

O conteúdo a ser inserido e metadados relacionados. A carga útil pode conter vários itens e seus tipos MIME podem ser diferentes (por exemplo, um item de imagem e um item de texto). A carga também pode conter itens cujo tipo MIME não está na lista de tipos MIME especificados quando View#setOnReceiveContentListener setting o ouvinte. Para esses itens, o ouvinte pode rejeitar o conteúdo (adiar para o comportamento padrão da plataforma) ou executar alguma outra lógica de fallback (por exemplo, mostrar uma mensagem apropriada ao usuário).

Retornos

A parte do conteúdo repassado cujo processamento deve ser delegado à plataforma. Retorne null se todo o conteúdo foi manipulado de alguma forma. A inserção real do conteúdo pode ser processada de forma assíncrona em segundo plano e pode ou não ter êxito mesmo se esse método retornar null. Por exemplo, um aplicativo pode acabar não inserindo um item se exceder o limite de tamanho do aplicativo para esse tipo de conteúdo.

Atributos

Comentários

Receba o conteúdo fornecido.

As implementações devem manipular quaisquer itens de conteúdo de interesse e retornar todos os itens não manipulados para preservar o comportamento padrão da plataforma para conteúdo que não tenha tratamento específico do aplicativo. Por exemplo, uma implementação pode fornecer manipulação para URIs de conteúdo (para fornecer suporte para inserir imagens, etc.) e delegar o processamento de texto à plataforma para preservar o comportamento comum para inserir texto. Consulte a classe javadoc para obter uma implementação de exemplo.

<h3>Manipulação de conteúdo< diferente/h3><ul><li>Texto. Se o ContentInfo#getSource() source for ContentInfo#SOURCE_AUTOFILL autofill, o conteúdo do modo de exibição deve ser totalmente substituído pelo texto transmitido. Para fontes diferentes do preenchimento automático, o texto passado deve substituir a seleção atual ou ser inserido na posição atual do cursor se não houver seleção. <li>Conteúdo não textual (por exemplo, imagens). O conteúdo pode ser inserido embutido se o widget suportar isso, ou pode ser adicionado como um anexo (poderia ser mostrado em uma exibição completamente separada). </ul>

<h3>Permissões< de URI/h3>

android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION Read permissions são concedidos automaticamente pela plataforma para qualquer android.content.ContentResolver#SCHEME_CONTENT content URIs na carga útil passada para este ouvinte. As permissões são transitórias e serão liberadas automaticamente pela plataforma.

O processamento de conteúdo normalmente deve ser feito em um serviço ou atividade. Para processamento de longa duração, o uso androidx.work.WorkManager é recomendado. Ao implementar isso, as permissões devem ser estendidas ao serviço ou atividade de destino, passando o conteúdo usando android.content.Intent#setClipData Intent.setClipData e android.content.Intent#addFlags(int) setting o sinalizador android.content.Intent#FLAG_GRANT_READ_URI_PERMISSION FLAG_GRANT_READ_URI_PERMISSION.

Como alternativa, se estiver usando um thread em segundo plano no contexto atual para processar o conteúdo, uma referência ao objeto deverá ser mantida para garantir que as payload permissões não sejam revogadas prematuramente.

Documentação Java para android.view.OnReceiveContentListener.onReceiveContent(android.view.View, android.view.ContentInfo).

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

Aplica-se a