下载文件前如何查看是否开启了WIFI?
How to check if I have enabled WIFI before downloading a file?
我有一个下载文件的按钮,并且工作正常。如果我没有 Internet 连接,则文件不会下载(很明显)。问题是应用程序继续尝试下载,而不是停止它。
我想展示一个 Toast 说 "The device its not connected" 或类似的东西,然后不开始下载过程。我想要一个 returns true 或 false 的函数,如果我现在有或没有可用的 WIFI 连接
我尝试使用这些 post 的答案:How to check currently internet connection is available or not in android,但即使在飞行模式下,函数重新调整也始终为真。
我使用 DownloadManager 下载文件,并在下载后使用 BroadcastReceiver 继续。
在清单文件中添加此权限
<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
}
这是网络连接检查代码
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" />
在清单文件中添加此权限
<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();
}
我有一个下载文件的按钮,并且工作正常。如果我没有 Internet 连接,则文件不会下载(很明显)。问题是应用程序继续尝试下载,而不是停止它。
我想展示一个 Toast 说 "The device its not connected" 或类似的东西,然后不开始下载过程。我想要一个 returns true 或 false 的函数,如果我现在有或没有可用的 WIFI 连接
我尝试使用这些 post 的答案:How to check currently internet connection is available or not in android,但即使在飞行模式下,函数重新调整也始终为真。
我使用 DownloadManager 下载文件,并在下载后使用 BroadcastReceiver 继续。
在清单文件中添加此权限
<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
}
这是网络连接检查代码
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" />
在清单文件中添加此权限
<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();
}