在我的应用程序中完全依赖于网络,即,我从网络获取数据(带文本的图像)并仅显示在我的布局中。为此,我的主要问题是如何处理网络连接。我使用以下代码检查设备是否已连接到网络。
public static boolean hasConnection() {
ConnectivityManager cm = (ConnectivityManager) MbridgeApp.getContext().getSystemService(
Context.CONNECTIVITY_SERVICE);
NetworkInfo wifiNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifiNetwork != null && wifiNetwork.isConnected()) {
return true;
}
NetworkInfo mobileNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (mobileNetwork != null && mobileNetwork.isConnected()) {
return true;
}
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (activeNetwork != null && activeNetwork.isConnected()) {
return true;
}
return false;
}
- 这段代码提供了有关设备是否连接到网络的信息。
- 我的问题会出现,有时网络连接但信号强度太低,这种情况我的应用程序需要更多时间(从API获取数据),长时间后应用程序冻结或崩溃。
- 是否可以设置信号强度的最小范围,如果它低于该范围,我只是将 toast 消息通知给用户。