Idioma

NfcAdapter.SetBeamPushUris(Uri[], Activity) Método

Definição

Defina um ou mais Uris para enviar usando o TM (Android Beam).

[Android.Runtime.Register("setBeamPushUris", "([Landroid/net/Uri;Landroid/app/Activity;)V", "")]
public void SetBeamPushUris(Android.Net.Uri[]? uris, Android.App.Activity? activity);
[<Android.Runtime.Register("setBeamPushUris", "([Landroid/net/Uri;Landroid/app/Activity;)V", "")>]
member this.SetBeamPushUris : Android.Net.Uri[] * Android.App.Activity -> unit

Parâmetros

uris
Uri[]

uma matriz de Uri(s) para efetuar push sobre o Android Beam

activity
Activity

atividade para a qual os Uri(s) serão enviados por push

Atributos

Comentários

Defina um ou mais Uris para enviar usando o TM (Android Beam). Cada Uri fornecido deve ter o esquema 'file' ou esquema 'content'.

Para os dados fornecidos por meio desse método, o Android Beam tenta alternar para transportes alternativos, como Bluetooth, para obter uma velocidade de transferência rápida. Portanto, esse método é muito adequado para transferir arquivos grandes, como imagens ou músicas.

O lado receptor armazenará o conteúdo de cada Uri em um arquivo e apresentará uma notificação ao usuário para abrir o arquivo com uma android.content.Intent ação android.content.Intent#ACTION_VIEWcom . Se vários URIs forem enviados, ele android.content.Intent se referirá ao primeiro dos arquivos armazenados.

Esse método pode ser chamado a qualquer momento antes Activity#onDestroy, mas os URI(s) só são disponibilizados para o Android Beam quando as atividades especificadas estão no estado (primeiro plano). A abordagem recomendada é chamar esse método durante a atividade – confira o código de Activity#onCreate exemplo abaixo. Esse método não executa imediatamente nenhum trabalho de E/S ou bloqueio, portanto, é seguro chamar em seu thread principal.

#setBeamPushUris e #setBeamPushUrisCallback ter prioridade sobre ambos #setNdefPushMessage e #setNdefPushMessageCallback.

Se #setBeamPushUris for chamado com uma matriz Uri nula e/ou #setBeamPushUrisCallback for chamado com um retorno de chamada nulo, o push de Uri será completamente desabilitado para as atividades especificadas.

Exemplo de código:

protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
                if (nfcAdapter == null) return;  // NFC not available on this device
                nfcAdapter.setBeamPushUris(new Uri[] {uri1, uri2}, this);
            }

E é isso. Apenas uma chamada por atividade é necessária. O sistema operacional Android lançará automaticamente suas referências aos Uri(s) e ao objeto Activity quando ele for destruído se você seguir esse padrão.

Se sua atividade quiser fornecer dinamicamente Uri(s), defina um retorno de chamada usando #setBeamPushUrisCallback em vez de usar esse método.

Não passe uma atividade que já passou por Activity#onDestroy. Isso é garantido se você chamar essa API durante Activity#onCreate.

Se esse dispositivo não oferecer suporte a transportes alternativos, como Bluetooth ou WiFI, chamar esse método não fará nada.

Requer a permissão android.Manifest.permission#NFC.

Java documentação para android.nfc.NfcAdapter.setBeamPushUris(android.net.Uri[], android.app.Activity).

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

Aplica-se a