RemoteCallbackList.BeginBroadcast 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.
Usare #broadcast(Consumer) invece per garantire una corretta gestione dei processi bloccati.
[Android.Runtime.Register("beginBroadcast", "()I", "GetBeginBroadcastHandler")]
public virtual int BeginBroadcast();
[<Android.Runtime.Register("beginBroadcast", "()I", "GetBeginBroadcastHandler")>]
abstract member BeginBroadcast : unit -> int
override this.BeginBroadcast : unit -> int
Valori restituiti
Restituisce il numero di interfacce nella trasmissione da utilizzare per #getBroadcastItem determinare l'intervallo di indici che è possibile fornire.
- Attributi
Commenti
Usare #broadcast(Consumer) invece per garantire una corretta gestione dei processi bloccati.
Prepararsi per iniziare a effettuare chiamate alle interfacce attualmente registrate. Verrà creata una copia dell'elenco di interfacce, da cui è possibile recuperare gli elementi usando #getBroadcastItem. Si noti che una sola trasmissione può essere attiva alla volta, quindi è necessario assicurarsi di chiamare sempre questo dal thread stesso (in genere pianificando con Handler) o eseguire la propria sincronizzazione. È necessario chiamare #finishBroadcast al termine.
Un ciclo tipico che fornisce una trasmissione è simile al seguente:
int i = interfaces.beginBroadcast();
while (i > 0) {
i--;
try {
interfaces.getBroadcastItem(i).somethingHappened();
} catch (RemoteException e) {
// The RemoteCallbackList will take care of removing
// the dead object for us.
}
}
interfaces.finishBroadcast();
Si noti che questo metodo è supportato solo per #FROZEN_CALLEE_POLICY_UNSET. Per altri criteri, usare #broadcast(Consumer) invece .
per android.os.RemoteCallbackList.beginBroadcast().
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.