云网牛站
所在位置:首页 > HarmonyOS问题与回答 > 鸿蒙如何获取设备wifi信息及获取搭载鸿蒙的硬件设备序列号

鸿蒙如何获取设备wifi信息及获取搭载鸿蒙的硬件设备序列号

2021-06-18 11:42:15作者:wwwunix稿源:HarmonyOS站

问题:鸿蒙系统HarmonyOS如何通过java代码获取设备wifi信息?如何通过自己开发的app获取搭载鸿蒙系统的硬件设备序列号(SN/IMEI/固定的MAC)?

鸿蒙如何获取设备wifi信息及获取搭载鸿蒙的硬件设备序列号

 

问题追加:

要开发一款app需要绑定到指定硬件设备上使用,这时要获取手机或者MatePad pro的硬件码(刷机恢复出场设置后不会改变的码),但是Android10和鸿蒙系统已经禁止了app获取这些信息的权限,即Android10和鸿蒙HarmonyOS已经禁止了用户获取硬件设备信息的权限,比如IMEI、SN和固定的MAC,使得开发者开发的应用已经无法和硬件绑定试用),还有什么办法可以获取到?

 

回答:

针对第一个问题,其不同的信息在不同的Class中,wifi信息的话如下:

WifiDevice wifiDevice;

wifiDevice=WifiDevice.getInstance(context);

wifiDevice.isWifiActive();//用于判断wifi是否打开

wifiDevice.isConnected();//用于判断wifi是否连接

Optional<WifiLinkedInfo> linkedInfo = wifiDevice.getLinkedInfo();

linkedInfo.get().getSsid();//用于获取连接的SSID

linkedInfo.get().getMacAddress();//用于获取wifi的MAC地址

针对第二个问题,当前没有好的办法,可以获取的一些sn都会变化,华为的MDM都没有这个权限。

 

说明:

如果是获取具有代表该手机的唯一性的id,类似imei、oaid这些的话,理论上有一种方法是可以的,就是自己用C语言写一个.so的动态库,去手机的指定位置获取你要的设备信息。然后通过JNI接口调用.so动态库的函数,就能得到你要的设备信息了。

以上方法在安卓Android上试过可以,但在鸿蒙HarmonyOS上不一定可行,但如果需要获取可以尝试下。

其它的可参考非鸿蒙HarmonyOS系统和HarmonyOS怎么获取udid?

精选文章
热门文章