Android互联网连接检查问题

标签 android android-permissions android-internet

我是 Android 开发的新手,正在开发一个需要手机通过 Wifi、EDGE 或 3G 连接到互联网的 Android 应用程序。

这是我用来检查互联网连接是否可用的代码

public static boolean isConnected()
{
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    return cm.getActiveNetworkInfo().isConnectedOrConnecting();
}

我还在 list 文件中设置了这些权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

当启用 3G 时,这在运行 Android 1.5 版的模拟器中运行良好,但当我禁用 3G 连接时它会崩溃。当我调用 isConnectedOrConnecting() 时,我的应用程序引发空指针异常。同样的事情也发生在我运行 Android 2.1 的 HTC Desire 上。

希望有人知道这个问题的解决方案。

提前致谢!

最佳答案

如果崩溃直接在您的线路上:

return cm.getActiveNetworkInfo().isConnectedOrConnecting();

那么这意味着 getActiveNetworkInfo() 返回 null,因为没有 Activity 网络——在这种情况下,您的 isConnected() 方法应该返回 false

关于Android互联网连接检查问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2753412/

相关文章:

java - 将单个字符转换为 CharSequence 的最有效方法

Android - 以编程方式检查互联网连接并在未连接时显示对话框

android - 下载后自动安装apk

android - 操作栏选项卡不填充选项卡栏

Play 商店中平板电脑上的 Android 应用程序可见性

android - 无法在 SD 卡上写入文件

android - 如果互联网连接是错误的,它应该等待连接

java - 连接 WiFi 时获取互联网状态变化

java - 我如何从 Activity 中打开 android.support.v4.app.Fragment

android - 申请的进程中没有加入对应的组ID