NfcAdapter.SetBeamPushUris(Uri[], Activity) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.