すでにいくつかの答えがあることは知っていますが、私は Android プログラミングの初心者であるため、それらをよく理解していません。次のコードを使用してレシーバーをインスタンス化しようとしました。
<receiver
android:name="com.example.android.exampleapp.MainActivity$NetworkChangeReceiver"
android:enabled="true"
android:label="NetworkChangeReceiver">
<intent-filter>
<action android:name="android.net.wifi.STATE_CHANGE" />
</intent-filter>
</receiver>
しかし、うまくいきませんでした。logcat は次のように述べています。
java.lang.RuntimeException:
Unable to instantiate receiver com.example.android.exampleapp.MainActivity$NetworkChangeReceiver:
java.lang.InstantiationException:
class com.example.android.exampleapp.MainActivity$NetworkChangeReceiver has no zero argument constructor
MainActivity.javaのコードの一部を以下に示します。
public class NetworkChangeReceiver extends BroadcastReceiver {
/* All my code that reacts when WiFi state changes are here */
}
この質問は簡単に聞こえるかもしれませんが、このエラーを解決する方法が真剣にわかりません。私はこれを読んだことがあります(これはちょっと無効だと思います-空のコンストラクターはありません)と他のオンラインチュートリアルの束を読みましたが、まだ取得できません。どんな助けでも大歓迎です:)