OpenHarmony5.0.0获取默认网络设备接口报错

Balaur 显示全部楼层 发表于 2025-3-14 11:02:25

【问题描述】

  1. 介绍问题现象和发生的背景

    如题,在使用@kit.NetworkKit中的getDefaultNetSync接口在运行时会提示接口异常并崩溃。

  2. 相关的代码(请勿使用截图)

    // import内容为import {connection} from '@kit.NetworkKit';
      getConnectionProperties() {
        // 获取默认网络
        const defaultNet = connection.getDefaultNetSync()
        if(defaultNet) {
          // 获取默认网络的链路信息
        const connectionProperties = connection.getConnectionPropertiesSync(defaultNet)
        // 提取链路信息
        const linkAddress = connectionProperties.linkAddresses[0]
        if (linkAddress) {
          // 获取 IP 地址
          this.IPAddress = linkAddress.address.address
          // // 计算子网掩码(了解)
          // this.subnetMask = this.calculateSubnetMask(linkAddress.prefixLength)
          // // 计算广播地址(了解)
          // this.broadcastAddress = this.calculateBroadcastAddress(this.IPAddress, this.subnetMask)
        }
      }
  3. 运行结果、错误截图

    image.png

  4. 我想要达到的结果

    正常获取到默认设备或通过其他方式获取

【运行环境】

OH版本:5.0.0.71 DevEvoStudio版本:5.0.3 SDK版本:12

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论5

onefan

沙发 发表于 2025-3-17 19:50:59
import { connection } from '@kit.NetworkKit';

          let netHandle = connection.getDefaultNetSync();
          hilog.info(DOMAIN, '20250317 ', 'netHandle = ' + JSON.stringify(netHandle));

connection.getDefaultNetSync() 可以真常,sdk使用的fullsdk。

无网时获取的 {"netId":0},链接wifi时  {"netId":102}
1742212103230.png

王梦伟

板凳 发表于 2025-3-19 10:41:31
一样的问题,我的是5.0.2版本:

Device info:Orangepi 5Plus
Build info:OpenHarmony 5.0.2.123
Fingerprint:5ab01ae7763bdc5ef4cd91740764ae0bd7ac6ed605f5f680c5ebee33e827f646
Module name:com.example.hello_world
Version:1.0.0
VersionCode:1000000
PreInstalled:No
Foreground:Yes
Pid:6534
Uid:20010041
Reason:TypeError
Error name:TypeError
Error message:Cannot read property getDefaultNetSync of undefined
Stacktrace:
    at anonymous (entry/src/main/ets/pages/Index.ets:108:27)

王梦伟

发表于 2025-3-20 12:44  IP属地: 广东省东莞市

回复 王梦伟: 已解决该问题,参照:https://laval.csdn.net/6788ae10911edf5f3b00f79e.html

【1 条回复】

王梦伟

地板 发表于 2025-3-19 10:44:01
请问解决了吗?我也遇到了同样的问题。

Device info:Orangepi 5Plus
Build info:OpenHarmony 5.0.2.123
Fingerprint:5ab01ae7763bdc5ef4cd91740764ae0bd7ac6ed605f5f680c5ebee33e827f646
Module name:com.example.hello_world
Version:1.0.0
VersionCode:1000000
PreInstalled:No
Foreground:Yes
Pid:6534
Uid:20010041
Reason:TypeError
Error name:TypeError
Error message:Cannot read property getDefaultNetSync of undefined
Stacktrace:
    at anonymous (entry/src/main/ets/pages/Index.ets:108:27)

Balaur

5# 发表于 2025-3-20 16:49:06
使用此类硬件相关接口时,需要注意是否使用了全量SDK(fullsdk),DevEco工具下载的sdk是用户级别的,不包含一些系统级别的api接口,所以会导致该问题出现。
共5 条回复,点击查看

Copyright   ©2025  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部