Android 立即检查互联网连接
是否有任何广播接收器(或服务)在应用程序保持运行期间持续检查互联网连接。因此,每当存在松散连接时,我都会得到一些松散连接的信息。 我知道Android 立即检查互联网连接,android,Android,是否有任何广播接收器(或服务)在应用程序保持运行期间持续检查互联网连接。因此,每当存在松散连接时,我都会得到一些松散连接的信息。 我知道ConnectivityManager private boolean isNetworkAvailable() { ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
ConnectivityManager
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager
.getActiveNetworkInfo();
return activeNetworkInfo != null;
}
我们可以通过哪个班级来检查是否有网络连接?但我需要立即检查…此试用代码正在运行
public static boolean checkConnection(Context mContext) {
NetworkInfo info = ((ConnectivityManager) mContext
.getSystemService(Context.CONNECTIVITY_SERVICE))
.getActiveNetworkInfo();
if (info == null || !info.isConnected()) {
return false;
}
if (info.isRoaming()) {
return true;
}
return true;
}
这个尝试代码正在工作
public static boolean checkConnection(Context mContext) {
NetworkInfo info = ((ConnectivityManager) mContext
.getSystemService(Context.CONNECTIVITY_SERVICE))
.getActiveNetworkInfo();
if (info == null || !info.isConnected()) {
return false;
}
if (info.isRoaming()) {
return true;
}
return true;
}
您可以添加具有特定操作的广播:
IntentFilter过滤器=新的IntentFilter(ConnectivityManager.CONNECTIVITY\u操作);
寄存器接收器(连接接收器、过滤器)代码>您可以添加具有特定操作的广播:
IntentFilter过滤器=新的IntentFilter(ConnectivityManager.CONNECTIVITY\u操作);
寄存器接收器(连接接收器、过滤器)代码>使用访问\网络\状态权限,只需创建一个连接方法即可
public boolean isOnline() {
ConnectivityManager cm =
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo().isConnectedOrConnecting();
}
使用ACCESS\u NETWORK\u STATE权限,只需创建一个已连接的方法即可
public boolean isOnline() {
ConnectivityManager cm =
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo().isConnectedOrConnecting();
}
在开发显示网络状态的应用程序之前,请尝试使用ConnectivityManager和其他广播
如果情况是这样(通常是这样),您需要执行一些基于网络的操作,例如从任何服务器获取一些数据
我不去检查网络状态
但依赖于UnknownHostException或RuntimeException等,当您发出一个告诉我“hey network不可用”的请求时,这些请求会被抛出
我觉得这比在发出api请求之前进行网络检查更好
无需connectivity manager的附加代码
另外,如果case developer保存了不可用的连接值,不更新它,并在一段时间后使用它,该怎么办。所以它很容易出错
这就像是在需要的准确时间进行检查,不会影响其他操作
主要的一种情况是,对于非常积极的情况,设备从不丢失数据
连通性为什么要运行一段无用的代码
这只是我的偏好,我并不质疑ConnectionManager:)的存在
希望它能在这一场景或其他场景中有所帮助。在您开发一个显示网络状态的应用程序之前,请尝试使用ConnectionManager和其他广播
如果情况是这样(通常是这样),您需要执行一些基于网络的操作,例如从任何服务器获取一些数据
我不去检查网络状态
但依赖于UnknownHostException或RuntimeException等,当您发出一个告诉我“hey network不可用”的请求时,这些请求会被抛出
我觉得这比在发出api请求之前进行网络检查更好
无需connectivity manager的附加代码
另外,如果case developer保存了不可用的连接值,不更新它,并在一段时间后使用它,该怎么办。所以它很容易出错
这就像是在需要的准确时间进行检查,不会影响其他操作
主要的一种情况是,对于非常积极的情况,设备从不丢失数据
连通性为什么要运行一段无用的代码
这只是我的偏好,我并不质疑ConnectionManager:)的存在
希望它能在这一场景或其他场景中有所帮助。打开www.google.com,您可以获得即时互联网连接…)ConnectivityManager可能是您最好的选择,我以前尝试过寻找它,但找不到任何东西。看看这个问题,它有一些答案,在检查连接方面有一些小的改进@user1129443-嘿,放松朋友们只是想让你从压力中解脱出来。。希望您能尽快找到解决方案…可能与open www.google.com重复,您可以获得即时互联网连接…:)ConnectivityManager可能是您最好的选择,我以前尝试过寻找它,但找不到任何东西。看看这个问题,它有一些答案,在检查连接方面有一些小的改进@user1129443-嘿,放松朋友们只是想让你从压力中解脱出来。。希望您能尽快找到解决方案…可能与@PareshMayani完全相同+1@user1129443检查教程中的update
部分。@user1129443然后在后台服务中编写此代码。@PareshMayani我有这个想法,但我需要浏览广播服务。我已将此代码放入服务中,并且工作正常…@user1129443很高兴您找到了解决方案!!Cheers@PareshMayani正是+1@user1129443检查教程中的update
部分。@user1129443然后在后台服务中编写此代码。@PareshMayani我有这个想法,但我需要浏览广播服务。我已将此代码放入服务中,并且工作正常…@user1129443很高兴您找到了解决方案!!如果您想要或者您想在活动中定义广播,Cheerresyo可以在清单中定义接收者。类似于:private BroadcastReceiver connectionReceiver=new BroadcastReceiver(){@Override public void onReceive(上下文上下文,意向意向){String reason=Intent.getStringExtra(ConnectivityManager.EXTRA_reason);//DO Something}代码>此广播在连接更改时发出通知!!它不会每N秒收到一个意图。也许你可以在应用程序开始时保存连接(开/关),然后用接收器更新ir。您将只读取保存的状态。如果需要,您可以在清单中定义接收者,或者您可能希望在活动中定义所需的广播。类似于:private BroadcastReceiver connectionReceiver=new BroadcastReceiver(){@Override public void onReceive(上下文上下文,意图-意图){String reason=Intent.g