场景介绍
应用使用当前的数据网络打开一个 URL 链接。
接口说明
应用使用当前网络打开一个 URL 链接,所使用的接口说明如下。
类名 |
接口名 |
功能描述 |
NetManager |
getInstance(Context context) |
获取网络管理的实例对象。 |
hasDefaultNet() |
查询当前是否有默认可用的数据网络。 |
|
getDefaultNet() |
获取当前默认的数据网络句柄。 |
|
addDefaultNetStatusCallback(NetStatusCallback callback) |
获取当前默认的数据网络状态变化。 |
|
setAppNet(NetHandle netHandle) |
应用绑定该数据网络。 |
|
NetHandle |
openConnection(URL url, Proxy proxy) throws IOException |
使用该网络打开一个 URL 链接。 |
开发步骤
- 调用 NetManager.getInstance(Context)获取网络管理的实例对象。
- 调用 NetManager.getDefaultNet()获取默认的数据网络。
- 调用 NetHandle.openConnection()打开一个 URL。
- 通过 URL 链接实例访问网站。
NetManager netManager = NetManager.getInstance(null);
if (!netManager.hasDefaultNet()) {
return;
}
NetHandle netHandle = netManager.getDefaultNet();
// 可以获取网络状态的变化
NetStatusCallback callback = new NetStatusCallback() {
// 重写需要获取的网络状态变化的override函数
}
netManager.addDefaultNetStatusCallback(callback);
// 通过openConnection来获取URLConnection
try {
HttpURLConnection connection = null;
String urlString = "https://www.huawei.com/";
URL url = new URL(urlString);
URLConnection urlConnection = netHandle.openConnection(url,
java.net.Proxy.NO_PROXY);
if (urlConnection instanceof HttpURLConnection) {
connection = (HttpURLConnection) urlConnection;
}
connection.setRequestMethod("GET");
connection.connect();
// 之后可进行url的其他操作
} finally {
connection.disconnect();
}
请发表评论