android - 在android中检查用户是否连接到网络

标签 android crash android-internet

在我的主要 Activity 中,我有

 if (isNetworkAvailable() == true) {
        Log.i("testing", "available");

    } else {
        Log.i("test", "unaivalibale");
    }

然后在下面我有方法
  private boolean isNetworkAvailable() {
    ConnectivityManager connectivityManager
            = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}

我也设置了
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

在 list 中,但是当我运行应用程序时,它总是停止,杀死应用程序出了什么问题

最佳答案

创建一个类并正确添加方法:

public class ConnectivityStatus extends ContextWrapper{
public ConnectivityStatus(Context base) {
    super(base);
}

public static boolean isConnected(Context context){

    ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo connection = manager.getActiveNetworkInfo();
    if (connection != null && connection.isConnectedOrConnecting()){
        return true;
    }
    return false;
 }
}

在您使用的 Activity 中获取状态:
if(!ConnectivityStatus.isConnected(your_class_name.this)){
            //not connected
}else {
            //connected
}

关于android - 在android中检查用户是否连接到网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39639445/

相关文章:

c++ - 为什么 StackWalk64 总是返回 true?

android - 应用程序在图像模糊时崩溃

android - 连接到互联网后如何自动刷新网页 View

android - 在启动画面期间检查互联网

Android Gridview 中的复选框回收 View 问题

android - 电晕函数和变量

android - 如何使用 Android 设备管理器删除 Android Studio 模拟器中的文件夹?

c# - Clipboard.Clear() 使 Outlook 和 Visual Studio 崩溃

android - 如何实时查看互联网接入情况?

java - GooglePlay 服务 AdMob