0

フラグメント クラスにブロードキャスト レシーバーがあり、次のように定義しました。

 private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            updateUI(intent);  //calling function     
        }};

そして、このブロードキャスト レシーバーを次と同じフラグメントに登録しました。

getActivity().registerReceiver(broadcastReceiver, new IntentFilter(
            Server.UDP_BROADCAST));

私の要件は、このブロードキャスト レシーバーをこのフラグメントのメイン アクティビティに登録することです。私の目的を効率的に達成するのを手伝ってください。これを行う方法。よろしくタリブ。

4

1 に答える 1

0

アプリ内のどこにいても BroadcastReceiver にインテントを受信させたい場合は、それをアプリケーションに登録します。

ドキュメントから:

通常、Application をサブクラス化する必要はありません。ほとんどの場合、静的シングルトンは、よりモジュール化された方法で同じ機能を提供できます。シングルトンにグローバル コンテキストが必要な場合(たとえば、ブロードキャスト レシーバーを登録するため)、それを取得する関数には、最初にシングルトンを構築するときに Context.getApplicationContext() を内部的に使用する Context を指定できます。

于 2013-10-28T09:43:03.467 に答える