Lingua

NfcAdapter.SetBeamPushUris(Uri[], Activity) Metodo

Definizione

Impostare uno o più Uris per l'invio tramite Android Beam (TM).

[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

Parametri

uris
Uri[]

una matrice di URI per eseguire il push su Un fascio Android

activity
Activity

attività per cui verrà eseguito il push degli URI

Attributi

Commenti

Impostare uno o più Uris per l'invio tramite Android Beam (TM). Ogni URI specificato deve avere uno schema 'file' o schema 'content'.

Per i dati forniti tramite questo metodo, Android Beam tenta di passare a trasporti alternativi, ad esempio Bluetooth, per ottenere una velocità di trasferimento veloce. Di conseguenza, questo metodo è molto adatto per trasferire file di grandi dimensioni, ad esempio immagini o canzoni.

Il lato ricevente archivierà il contenuto di ogni URI in un file e presenterà una notifica all'utente per aprire il file con un'azione android.content.Intentandroid.content.Intent#ACTION_VIEW. Se vengono inviati più URI, il android.content.Intent farà riferimento al primo dei file archiviati.

Questo metodo può essere chiamato in qualsiasi momento prima Activity#onDestroydi , ma gli URI vengono resi disponibili solo per Android Beam quando le attività specificate sono in stato ripreso (in primo piano). L'approccio consigliato consiste nel chiamare questo metodo durante l'attività Activity#onCreate . Vedere il codice di esempio seguente. Questo metodo non esegue immediatamente operazioni di I/O o di blocco, quindi è sicuro chiamare sul thread principale.

#setBeamPushUrise #setBeamPushUrisCallback hanno priorità sia su che #setNdefPushMessageCallbacksu #setNdefPushMessage .

Se #setBeamPushUris viene chiamato con una matrice URI Null e/o #setBeamPushUrisCallback viene chiamato con un callback Null, il push URI verrà completamente disabilitato per le attività specificate.

Esempio di codice:

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 questo è tutto. È necessaria una sola chiamata per attività. Il sistema operativo Android rilascia automaticamente i riferimenti agli URI e all'oggetto Activity quando viene eliminato se si segue questo modello.

Se l'attività vuole fornire dinamicamente gli URI, impostare un callback usando #setBeamPushUrisCallback invece di usare questo metodo.

Non passare un'attività già passata tramite Activity#onDestroy. Ciò è garantito se si chiama questa API durante Activity#onCreate.

Se questo dispositivo non supporta trasporti alternativi, ad esempio Bluetooth o WiFI, la chiamata a questo metodo non esegue alcuna operazione.

È necessaria l'autorizzazione android.Manifest.permission#NFC.

per android.nfc.NfcAdapter.setBeamPushUris(android.net.Uri[], android.app.Activity).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a