android – 强制HttpURLConnection使用移动网络和后退到WiFi

android – 强制HttpURLConnection使用移动网络和后退到WiFi,第1张

概述我的应用程序使用HttpURLConnection连接到我的REST服务.我记录错误,并注意到偶尔会发生什么是用户获取WiFi连接,但它有代理. 例如,那些机场无线网络会将您重定向到付费页面,然后让您使用互联网.我的代码不遵循重定向. 我真正想要的是忽略WiFi的存在,强制通过3G / 4G / E进行通信.如何在Android上执行此 *** 作? 切换到移动网络: 一旦您检测到代理,d出一个对话框,告 我的应用程序使用httpURLConnection连接到我的REST服务.我记录错误,并注意到偶尔会发生什么是用户获取WiFi连接,但它有代理.

例如,那些机场无线网络会将您重定向到付费页面,然后让您使用互联网.我的代码不遵循重定向.

我真正想要的是忽略WiFi的存在,强制通过3G / 4G / E进行通信.如何在Android上执行此 *** 作?

解决方法 切换到移动网络:

一旦您检测到代理,d出一个对话框,告诉用户您的应用程序无法使用该网络,因此您正在切换到移动网络.您可以使用ConnectivityManagerclass切换到移动网络.

ConnectivityManager cm; cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);cm.setNetworkPreference(ConnectivityManager.TYPE_MOBILE);

并完成后切换回默认:

cm.setNetworkPreference(ConnectivityManager.DEFAulT_NETWORK_PREFERENCE);

检测代理:

使用以下代码片段检测代理

httpURLConnection conn;...if (conn.getResponseCode() == http_PROXY_AUTH){    // You got a '407: Proxy authentication required' response.    // Set the networkPreference() here and retry when     // network connection changes to TYPE_MOBILE.}

你可以检查这篇文章,知道如何使用httpURLConnection通过代理:How do I make HttpURLConnection use a proxy?

检测“网络变化”:

要知道如何检测“网络变化”,请看这篇文章:
Android,How to handle change in network (from GPRS to Wi-fi and vice-versa) while polling for data

更新:

如果无法显示对话框,则至少会发送状态栏通知,以便用户稍后知道网络交换机.

总结

以上是内存溢出为你收集整理的android – 强制HttpURLConnection使用移动网络和后退到WiFi全部内容,希望文章能够帮你解决android – 强制HttpURLConnection使用移动网络和后退到WiFi所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1133692.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存