【问题标题】:How to check whether 3G is enabled when connected to Wifi?连接Wifi时如何查看3G是否开启?
【发布时间】:2013-08-23 18:04:03
【问题描述】:

即使设备连接到 Wifi,我也希望允许用户切换 3G 状态(开/关)(我读到 here 说在连接到 Wifi 时禁用 3G 可以节省电池电量)。

但是,当我在设备连接到 Wifi 时检查 3G 状态时,它总是返回断开连接。

我的代码是:

// access to mobile networtk service - 3G
ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mobile = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

// check mobile status
NetworkInfo.State state = mobile.getState(); // returns Disconnected 
Boolean isConnected = mobile.isConnectedOrConnecting(); // returns false

if (isConnected)
{
    // Turn 3G off
}
else
{
    // Turn 3G on
}

【问题讨论】:

    标签: android android-wifi


    【解决方案1】:

    据我所知,当 wifi 连接时,Android 会自动禁用移动网络连接,因此如果您检查 3G 的状态,它只会断开连接。您无需以编程方式执行此操作,它已经存在于 Android 系统中。

    即使在导航面板中您可能会看到 3G 已启用,但它并未与 WiFi 同时开启。

    【讨论】:

    • 嗯,它不会与 Wifi 同时开启,但是当两者都启用时,当设备处于睡眠状态(屏幕关闭)时,Wifi 被禁用并且 3G 开启,正如您在我提供的链接
    猜你喜欢
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多