我开发了这个逻辑,它需要做很多工作,但它有助于我检测是否存在其他问题,如代理或其他问题,因为普通的互联网连接管理器无法检测是否需要身份验证。
final ConnectivityManager conMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
final NetworkInfo activeNetwork = conMgr.getActiveNetworkInfo();
if (activeNetwork != null && activeNetwork.getState() == NetworkInfo.State.CONNECTED) {
//Do what ever you wish to do
} else {
// Display message internet connection not available
}
上面的代码提供了有关互联网连接是否可用的信息,但它不知道互联网连接是否需要身份验证,因此在检查上述条件后,我尝试访问下载链接,然后使用此逻辑。
这个stackoverflow查询中提到了我使用的逻辑(如果互联网需要身份验证才能实际连接才能下载?)....希望这些信息对有需要的人有所帮助。