我需要在Android上使用GSM连接发出HTTP请求,而不是Wifi。
我目前的解决方案是断开所有Wi-Fi连接并执行请求。有没有更好的解决方案?我在API中找不到任何相关的方法(我查看了包org.apache.http
,但似乎完全没有意识到应该使用什么类型的连接)。
答案 0 :(得分:1)
如果应用程序需要通过GSM now 提交HTTP请求,在启动时或在用户触发此操作时,按照问题提出的建议是完美的。
但是如果应用程序需要提交HTTP请求 时连接类型是GSM,那就有点不同了。在最后一种情况下,我会这样做:
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
}
答案 1 :(得分:0)
但似乎完全没有意识到应该使用什么类型的连接
正确 - 间接是你的朋友 - 位置服务(例如)是相同的