鴻蒙OS 使用指定網(wǎng)絡(luò)進行數(shù)據(jù)訪問

2020-09-18 15:41 更新

場景介紹

應(yīng)用可以調(diào)用 API 接口來使用指定網(wǎng)絡(luò)進行數(shù)據(jù)傳輸。在進行數(shù)據(jù)傳輸前,需要先建立自定義的網(wǎng)絡(luò)類型。

接口說明

應(yīng)用使用指定網(wǎng)絡(luò)進行數(shù)據(jù)訪問,所使用的接口說明如下。

類名 接口名 功能描述
NetSpecifier Builder() 創(chuàng)建一個指定網(wǎng)絡(luò)實例。
NetManager setupSpecificNet(NetSpecifier netSpecifier, NetStatusCallback callback) 建立指定的數(shù)據(jù)網(wǎng)絡(luò)。
removeNetStatusCallback(NetStatusCallback callback) 停止獲取數(shù)據(jù)網(wǎng)絡(luò)狀態(tài)。

開發(fā)步驟

  1. 調(diào)用 NetSpecifier.Builder( )構(gòu)建指定數(shù)據(jù)網(wǎng)絡(luò)的實例。

  1. 調(diào)用 NetManager.setupSpecificNet() 建立數(shù)據(jù)網(wǎng)絡(luò),通過 callback 獲取網(wǎng)絡(luò)狀態(tài)變化。

  1. 進行數(shù)據(jù)發(fā)送。

  1. NetManager netManager = NetManager.getInstance(null);
  2. private class MmsCallback extends NetStatusCallback {
  3. @Override
  4. public void onAvailable(NetHandle netHandle) {
  5. // 通過setAppNet把后續(xù)應(yīng)用所有的請求都通過該網(wǎng)絡(luò)進行發(fā)送
  6. netManager.setAppNet(netHandle);
  7. try {
  8. HttpURLConnection connection = null;
  9. String urlString = "https://www.huawei.com/";
  10. URL url = new URL(urlString);
  11. URLConnection urlConnection = netHandle.openConnection(url, java.net.Proxy.NO_PROXY);
  12. if (urlConnection instanceof HttpURLConnection) {
  13. connection = (HttpURLConnection) urlConnection;
  14. }
  15. connection.setRequestMethod("GET");
  16. connection.connect();
  17. // 之后可進行url的其他操作
  18. } finally {
  19. connection.disconnect();
  20. }
  21. // 如果業(yè)務(wù)執(zhí)行完畢,可以停止獲取
  22. netManager.removeNetStatusCallback(this);
  23. }
  24. }
  25. MmsCallback callback = new MmsCallback();
  26. // 配置一個彩信類型的蜂窩網(wǎng)絡(luò)
  27. NetSpecifier req = new NetSpecifier.Builder()
  28. .addCapability(NetCapabilities.NET_CAPABILITY_MMS)
  29. .addBearer(NetCapabilities.BEARER_CELLULAR)
  30. .build();
  31. // 建立數(shù)據(jù)網(wǎng)絡(luò),通過callback獲取網(wǎng)絡(luò)變更狀態(tài)
  32. netManager.setupSpecificNet(req, callback);
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號