无法在 Activity 类中编译“implements BroadcastReceiver”
有错误:
Error:(12, 66) error: interface expected here
Error:(55, 5) error: method does not override or implement a method from a supertype
无线 Controller .java
public class WifiController extends AppCompatActivity implements BroadcastReceiver{
.....
@Override
public void onReceive(Context context, Intent intent) {
}
}
AndroidMenifest.xml
<receiver android:name=".WifiController">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</receiver>
我想知道如何在扩展 Activity 类中使用 BroadCastReceiver。
最佳答案
首先了解什么是 BroadcastReceivera 及其实现方式很重要:
广播接收器(短接收器)是一个 Android 组件,允许您注册系统或应用程序事件。事件发生后,Android 运行时会通知事件的所有已注册接收者。
接收器的实现类扩展了 BroadcastReceiver 类。
所以你不能实现它,它是一个类而不是一个接口(interface)。
我建议在您的 Activity 类中创建一个内部类以像这样使用 Broadcast Receiver:
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// assumes WordService is a registered service
Intent intent = new Intent(context, WordService.class);
context.startService(intent);
}
}
阅读更多 Here
关于java - 无法在 Activity 类中编译 "implements BroadcastReceiver",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37063204/