【问题标题】:Disallow use of 3g in android socket app禁止在 android socket 应用中使用 3g
【发布时间】:2012-11-02 10:35:35
【问题描述】:

我制作了一个使用套接字通过网络发送数据的 Android 应用程序。 我猜(没有测试,因为我没有可以使用的外部 IP 地址)它适用于 3G。它肯定与 WiFi 相关。

首先:如果我的应用程序与 WiFi 一起使用,将数据发送到内部 IP 地址,如果我有外部 IP 地址要发送到,假设它与 3G 一起使用是否安全? - 当然有机会我会测试一下。

第二:如果 3G 有效,我将如何做出选择,让用户在应用程序内不允许使用 3G,只允许 WiFi?

【问题讨论】:

    标签: android ip wifi 3g


    【解决方案1】:

    首先:它是安全的

    第二:

    private boolean checkOnlyWiFiNetworkConnection() {
        ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo[] netInfo = cm.getAllNetworkInfo();
        for (NetworkInfo ni : netInfo) {
            if (ni.getTypeName().equalsIgnoreCase("WIFI")){
                if (ni.isConnected()){
                    return = true;
                }
            }
        }   
        return false;
    }
    

    【讨论】:

    • 据我所知,这段代码只返回真/假,是否启用了 WiFi?如果 3G 和 WiFi 都启用了,那么 WiFi 会一直使用吗?
    • 您的问题不清楚。你应该检查这个 SO 答案:stackoverflow.com/questions/11662978/…
    • 再一次,这只是启用禁用。我想要的是能够确保套接字通过 WiFi 而不是 3G 连接,而无需关闭手机的 3G。如果你想要wifi连接,你真的必须关闭3G吗?
    • 看来无法选择使用哪个网络:stackoverflow.com/questions/5171770/…
    • 当用户同时启用 wifi 和 3g 时,3g 总是断开连接,但 3g 可用?
    猜你喜欢
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多