Java Can';t实例化接收方:类没有零参数

Java Can';t实例化接收方:类没有零参数,java,android,broadcastreceiver,android-broadcastreceiver,Java,Android,Broadcastreceiver,Android Broadcastreceiver,虽然我知道已经有了一些答案,但我不太理解,因为我只是Android编程的初学者。我尝试使用以下代码实例化我的接收器: <receiver android:name="com.example.android.exampleapp.MainActivity$NetworkChangeReceiver" android:enabled="true" android:label="NetworkChangeReceiver"> <intent-filte

虽然我知道已经有了一些答案,但我不太理解,因为我只是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>
MainActivity.java中的部分代码如下所示:

public class NetworkChangeReceiver extends BroadcastReceiver {
    /* All my code that reacts when WiFi state changes are here */
}
我知道这个问题听起来很简单,但我真的不知道如何解决这个错误。我读过(我认为这有点无效——我没有一个空的构造函数)和其他一些在线教程,但我仍然无法得到它。任何帮助都将不胜感激:)

更改:

public class NetworkChangeReceiver extends BroadcastReceiver
致:


或者,将
NetworkChangeReceiver
移动到它自己的Java文件中的
公共
类。

如果我在
公共类NetworkChangeReceiver Extendes BroadcastReceiver
中获得了非静态方法,该怎么办?@YikJin:那么你不能在清单中注册它。您必须在活动中使用
registerReceiver()
,这样做的副作用是,您的接收器将只在活动进行期间(以及IIRC,在前台)观看广播。
public class NetworkChangeReceiver extends BroadcastReceiver
public static class NetworkChangeReceiver extends BroadcastReceiver