xmlns - uses permission camera android




マニフェストファイルの内部クラスとして放送受信機を定義することは可能ですか? (2)

この質問には既に回答があります:

私は主な活動の中で内部クラスとして放送受信機を作りたいと思っています。 しかし、アンドロイドはそれを見つけることができないので、マニフェストXMLファイルで放送受信機を定義する際に問題があります。

コード:

public class MyActivity extends Activity{
    ...

    public class Receiver extends BroadcastReceiver{

        @Override
        public void onReceive(Context context, Intent intent) {
            ....
        }

    }

    ...
}

マニフェスト:

<receiver android:name=".org.danizmax.myapp.MyActivity$Receiver" android:enabled="true">
            <intent-filter>
                <action android:name="org.danizmax.myapp.BROADCAST_INITIAL_DATA"></action>
            </intent-filter>
</receiver>

私は一緒に試みた:

  • .org.danizmax.myapp.MyActivity $ Receiver
  • org.danizmax.myapp.MyActivity $ Receiver
  • .MyActivity $ Receiver
  • レシーバ

私は他の人たちも同様の問題を抱えているのを見ましたが、答えは見つかりませんでした。

それは可能ですか? そうでない場合、放送受信機を使用するより良い方法は何ですか?

ありがとう!


BroadcastReceiverを使用するより良い方法は、それを独自のクラスにすることです。 そうすれば、コードはより整理され、再利用することができます。


非静的な内部クラスでこれを行いたい場合は、AndroidManifest.xmlで行うことはできません。 ただし、Androidの内部クラスとして BroadcastReceiver: Receiverを動的に登録することはできます