0

我需要使用 GSM 连接而不是 Wifi 在 Android 上发出 HTTP 请求。

我目前的解决方案是断开所有 wi-fi 连接并执行请求。有没有更好的解决方案?我在 API 中找不到任何相关方法(我查看了 package org.apache.http,但似乎完全不知道应该使用什么类型的连接)。

4

2 回答 2

1

如果应用程序现在需要通过 GSM 提交 HTTP 请求,则按照问题中的建议进行操作是完美的,在它启动时或在用户触发此操作时。

但是,如果应用程序需要在连接类型为 GSM时提交 HTTP 请求,那就有点不同了。在最后一种情况下,我会这样做:

private static boolean isOnlineUsingGsm(Context ctx) {
    final ConnectivityManager connectManager = (ConnectivityManager)ctx.getSystemService(Context.CONNECTIVITY_SERVICE);

    // Return true if connected thru GSM
    return connectManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED;
}

private void somewhereInTheCode() {
    if (isOnlineUsingGsm(context)) {
        sendHttpRequest();
    }
    // else don't send it
}
于 2011-09-05T12:10:49.200 回答
0

但似乎完全不知道应该使用什么类型的连接

正确 - 间接是你的朋友 - 位置服务(例如)是一样的

于 2010-09-29T16:25:36.170 回答