我需要使用 GSM 连接而不是 Wifi 在 Android 上发出 HTTP 请求。
我目前的解决方案是断开所有 wi-fi 连接并执行请求。有没有更好的解决方案?我在 API 中找不到任何相关方法(我查看了 package org.apache.http
,但似乎完全不知道应该使用什么类型的连接)。
如果应用程序现在需要通过 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
}
但似乎完全不知道应该使用什么类型的连接
正确 - 间接是你的朋友 - 位置服务(例如)是一样的