无法在Activity类
中编译“实现BroadcastReceiver”错误:
Error:(12, 66) error: interface expected here
Error:(55, 5) error: method does not override or implement a method from a supertype
WifiController.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。
答案 0 :(得分:1)
首先要了解什么是BroadcastReceivera及其实现方式非常重要:
广播接收器(短接收器)是一个Android组件,允许您注册系统或应用程序事件。一旦发生此事件,Android运行时将通知事件的所有已注册接收者。
接收器的实现类扩展了BroadcastReceiver类。
所以无法实现,它是一个类,而不是一个接口。
我建议在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