阅读(1601)
赞(11)
鸿蒙OS 使用当前网络打开一个URL链接
2020-09-17 10:01:22 更新
场景介绍
应用使用当前的数据网络打开一个 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();
}