gpt4 book ai didi

Android:BroadcastListner 获取错误

转载 作者:太空宇宙 更新时间:2023-11-03 13:28:52 24 4
gpt4 key购买 nike

在我的应用程序中,我一直在检查互联网连接。如果在任何时候都没有互联网,用户会收到一条消息。

为此,我制作了一个扩展 BroadcastReceiver 类的 NetworkStateReceiver 类。

Java 文件:

public class NetworkStateReceiver extends BroadcastReceiver {

public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent); // Here I'm getting the error mentioned below
Log.d("app", "Network connectivity change");
if (intent.getExtras() != null) {
NetworkInfo ni = (NetworkInfo) intent.getExtras().get(
ConnectivityManager.EXTRA_NETWORK_INFO);
if (ni != null && ni.getState() == NetworkInfo.State.CONNECTED) {
Log.i("app", "Network " + ni.getTypeName() + " connected");
}
}
if (intent.getExtras().getBoolean(
ConnectivityManager.EXTRA_NO_CONNECTIVITY, Boolean.FALSE)) {
Log.d("app", "There's no network connectivity");
}
}
}

错误:

Cannot directly invoke the abstract method onReceive(Context, Intent) for the type BroadcastReceiver

这是我在应用程序内的 Android list 文件中放入的内容:

<application>    
....
<receiver android:name=".NetworkStateReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
....
</application>

这是我使用的权限:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" 

为什么我在 super.onReceive(context, intent); 中遇到这个错误,我该如何摆脱它?

最佳答案

删除行 super.onReceive(context, intent)。基本实现无论如何都不做任何事情(它是一个抽象方法)。

关于Android:BroadcastListner 获取错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15859280/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com