gpt4 book ai didi

android - BroadcastReceiver 检查是否发生任何网络变化

转载 作者:行者123 更新时间:2023-11-29 17:39:54 26 4
gpt4 key购买 nike

我明白,如果我想在每次网络状态发生变化时在 Activity 中检查我的互联网连接,我必须创建一个 BroadcastReceiver。

我已将权限添加到我的 list 中并创建了以下类:

public class NetworkChangeReceiver extends BroadcastReceiver {

@Override
public void onReceive(final Context context, final Intent intent) {
final ConnectivityManager connMgr = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);

final android.net.NetworkInfo wifi = connMgr
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

final android.net.NetworkInfo mobile = connMgr
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

if (wifi.isAvailable() || mobile.isAvailable()) {
Log.d("Netowk Available ", "Flag No 1");
}
else
{
Log.d("Network not Available","Network is not available");
}
}
}

我唯一不明白的是如何让听众看到变化。我在我的 Activity 中覆盖了 onResume 和 onPause 但没有任何反应:

@Override
public void onResume() {
super.onResume(); // Always call the superclass method first

registerReceiver(myBroadcast, new IntentFilter());
}

@Override
public void onPause() {
super.onPause(); // Always call the superclass method first

unregisterReceiver(myBroadcast);
}

最佳答案

您必须将 BroadcastReceiver 放入您的 Activity 中,就像这个答案指出的那样:https://stackoverflow.com/a/4011057/1758048

  • 我会把它放在评论中,但我的声望点数还不够 :(

问候。

关于android - BroadcastReceiver 检查是否发生任何网络变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29126484/

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