gpt4 book ai didi

android - 如何实时查看上网情况?

转载 作者:搜寻专家 更新时间:2023-11-01 07:50:14 25 4
gpt4 key购买 nike

我找到了很多关于如何检查互联网访问的话题。但我不明白如何动态地制作它。例如,我发送了一个请求(它将在另一个线程中工作)并且设备失去了 Internet 连接。我如何取消对此 Activity 的请求?

最佳答案

这是我之前做的东西;也许它会有所帮助:

    public class NetworkStateMonitor extends BroadcastReceiver {
Context mContext;
boolean mIsUp;

public interface Listener {
void onNetworkStateChange(boolean up);
}

public NetworkStateMonitor(Context context) {
mContext = context;
//mListener = (Listener)context;
IntentFilter intentFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
context.registerReceiver(this, intentFilter);
mIsUp = isUp();
}

/**
* call this when finished with it, and no later than onStop(): callback will crash if app has been destroyed
*/
public void unregister() {
mContext.unregisterReceiver(this);
}

/*
* can be called at any time
*/
public boolean isUp() {
ConnectivityManager connectivityManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo!=null && activeNetworkInfo.isConnectedOrConnecting();
}

/**
* registerReceiver callback, passed to mListener
*/
@Override public void onReceive(Context context, Intent intent) {
boolean upNow = isUp();
if (upNow == mIsUp) return; // no change
mIsUp = upNow;
((Listener)mContext).onNetworkStateChange(mIsUp);
}
}

关于android - 如何实时查看上网情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35761288/

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