Language

RemoteCallbackList.BeginBroadcast メソッド

定義

代わりに #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 &gt; 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) を使用します。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

こちらもご覧ください