我有一个按钮,可以隐藏文件,并且工作正常。如果我没有Internet连接,则文件不会下载(显然)。问题在于该应用继续尝试下载,而不是停止下载。
我想显示一个Toast,上面写着“设备未连接”或类似的内容,然后不开始下载过程。如果我现在有WIFI连接,我想要一个返回true或false的函数
我尝试使用以下帖子的答案:How to check currently internet connection is available or not in android,但是即使在飞行模式下,该功能也始终会调整为真。
我使用DownloadManager下载文件,然后使用BroadcastReceiver下载后继续。
答案 0 :(得分:1)
在清单文件中添加此权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
使用此条件检查Wifi是否已连接
ConnectivityManager connManager = (ConnectivityManager);getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mWifi.isConnected()) {
// Do whatever
}
答案 1 :(得分:0)
此处是网络连接检查代码
public class NetworUtil {
private static NetworkInfo activeNetwork;
public static boolean isInternetConnected(Context context) {
if (context == null)
return false;
else {
ConnectivityManager cm =(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
return activeNetwork != null && activeNetwork.isConnectedOrConnecting();
}
}
}
AndroidManifest文件中必须具有以下权限。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
答案 2 :(得分:0)
在清单文件中添加此权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
以下情况将为您提供帮助
ConnectivityManager connManager = (ConnectivityManager)getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifi.isConnected()){
// If Wi-Fi connected
}else{
Toast.makeText(getApplicationContext() /*Context field*/,"Please Connect to Wifi",Toast.LENGTH_SHORT).show();
}