NfcAdapter.SetBeamPushUris(Uri[], Activity) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
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.