NfcAdapter.SetBeamPushUris(Uri[], Activity) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Legen Sie mindestens einen Uris fest, der mit Android Beam (TM) gesendet werden soll.
[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
Parameter
- uris
- Uri[]
ein Array von URI(n) zum Überschieben über Android Beam
- activity
- Activity
Aktivität, für die die URI(n) pushen
- Attribute
Hinweise
Legen Sie mindestens einen Uris fest, der mit Android Beam (TM) gesendet werden soll. Jeder von Ihnen bereitgestellte URI muss entweder über das Schema "datei" oder das Schema "content" verfügen.
Für die über diese Methode bereitgestellten Daten versucht Android Beam, zu alternativen Transporten wie Bluetooth zu wechseln, um eine schnelle Übertragungsgeschwindigkeit zu erzielen. Daher eignet sich diese Methode sehr für die Übertragung großer Dateien wie Bilder oder Songs.
Die empfangende Seite speichert den Inhalt der einzelnen URIs in einer Datei und stellt dem Benutzer eine Benachrichtigung vor, um die Datei mit einer android.content.Intent Aktion android.content.Intent#ACTION_VIEWzu öffnen. Wenn mehrere URIs gesendet werden, verweist dies android.content.Intent auf den ersten der gespeicherten Dateien.
Diese Methode kann jederzeit vor Activity#onDestroydem Aufruf aufgerufen werden, aber die URI(n) werden nur für Android Beam verfügbar gemacht, wenn die angegebenen Aktivitäten im Fortgesetzten Zustand (Vordergrund) ausgeführt werden. Der empfohlene Ansatz besteht darin, diese Methode während der Aktivität Activity#onCreate aufzurufen – siehe Beispielcode unten. Diese Methode führt keine E/A- oder Sperrvorgänge sofort aus, daher ist es sicher, den Hauptthread aufzurufen.
#setBeamPushUris und #setBeamPushUrisCallback haben Vorrang vor beiden #setNdefPushMessage und #setNdefPushMessageCallback.
Wenn #setBeamPushUris mit einem Null-URI-Array aufgerufen und/oder #setBeamPushUrisCallback mit einem Nullrückruf aufgerufen wird, wird der URI-Push für die angegebenen Aktivitäten vollständig deaktiviert.
Codebeispiel:
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);
}
Und das war‘s. Es ist nur ein Anruf pro Aktivität erforderlich. Das Android-Betriebssystem gibt die Verweise auf die URI(n) und das Activity-Objekt automatisch frei, wenn es zerstört wird, wenn Sie diesem Muster folgen.
Wenn Ihre Aktivität URI(n) dynamisch bereitstellen möchte, legen Sie einen Rückruf mithilfe #setBeamPushUrisCallback dieser Methode fest.
Übergeben Sie keine Aktivität, die bereits durchlaufen Activity#onDestroywurde. Dies ist garantiert, wenn Sie diese API während Activity#onCreateder Ausführung aufrufen.
Wenn dieses Gerät keine alternativen Transporte wie Bluetooth oder WLAN unterstützt, führt das Aufrufen dieser Methode nichts aus.
Erfordert die android.Manifest.permission#NFC-Berechtigung.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.