在Android平台上,如果在开始启动前去加载一个测试程序,该测试程序的功能是去读取wifi的mac地址,然后显示出来,显示的方式可以使用移植recovery源代码的miniui。
那么读wifi的mac地址无疑便是要初始化,装载wifi驱动后,通过cat /sys/class/net/wlan0/address去获取。
实例程序如下,这里仅仅只获取mac地址,wifi初始化,装载模块的C程序不便提供。
FILE *fstream = NULL; memset(wifi_mac_address,0,sizeof(wifi_mac_address)); sprintf(cmd,"%s","cat /sys/class/net/wlan0/address"); if(NULL==(fstream=popen(cmd,"r"))) { fprintf(stderr,"execute command failed: %s",strerror(errno)); ui_print_xy_rgba(X_GO,10,255,0,0,255,"WiFi MAC read[%s]:%s\n",PCBA_FAILED,"ERROR"); return -2; } while(NULL!=fgets(wifi_mac_address, sizeof(wifi_mac_address), fstream)) { printf("%s\n",wifi_mac_address); ui_print_xy_rgba(X_GO,10,0,255,0,255,"WiFi MAC read[%s]:%s\n",PCBA_SECCESS,wifi_mac_address); } pclose(fstream); close(wifi_mac);程序实现的逻辑是,通过cat /sys/class/net/wlan0/address获取返回值,存放到wifi_mac_address这个数组里,然后调用UI显示在LCD屏幕上。