RemoteCallbackList.BeginBroadcast メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
代わりに #broadcast(Consumer) を使用して、凍結プロセスを適切に処理します。
[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
返品
指定できるインデックスの範囲を決定するために、 #getBroadcastItem で使用するブロードキャスト内のインターフェイスの数を返します。
- 属性
注釈
代わりに #broadcast(Consumer) を使用して、凍結プロセスを適切に処理します。
現在登録されているインターフェイスへの呼び出しを開始する準備をします。 これにより、インターフェイス リストのコピーが作成され、 #getBroadcastItemを使用して項目を取得できます。 一度にアクティブにできるブロードキャストは 1 つだけであるため、常に同じスレッドからこれを呼び出すか (通常は Handlerを使用してスケジュールを設定する)、独自の同期を実行する必要があります。 完了したら、 #finishBroadcast を呼び出す必要があります。
ブロードキャストを配信する一般的なループは次のようになります。
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();
このメソッドは、 #FROZEN_CALLEE_POLICY_UNSETでのみサポートされることに注意してください。 他のポリシーの場合は、代わりに #broadcast(Consumer) を使用します。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。