我在2023年登录时遇到Mac地址识别设备问题。
我试过了所有的方法,但我找不到解决这个问题的方法:1-使用的mac_address。2类主活动:public void run(){
private val CHANNEL = "com.example.getmac";
private lateinit var channel: MethodChannel
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)
channel = MethodChannel(flutterEngine.dartExecutor.binaryMessenger,CHANNEL)
channel.setMethodCallHandler { call, result ->
if(call.method == "getMAC"){
var mac = getMacAddress();
result.success(mac);
Toast.makeText(this, mac, Toast.LENGTH_LONG).show()
}
}
}
// a function that return mac
private fun getMacAddress(): String? {
try {
val all: List<NetworkInterface> =
Collections.list<NetworkInterface>(NetworkInterface.getNetworkInterfaces())
for (nif in all) {
if (!nif.getName().equals("wlan0", ignoreCase = true)) continue
val macBytes: ByteArray = nif.getHardwareAddress() ?: return ""
val res1 = StringBuilder()
for (b in macBytes) {
res1.append(String.format("%02X:", b))
}
if (res1.length > 0) {
res1.deleteCharAt(res1.length - 1)
}
return res1.toString()
}
} catch (ex: Exception) {
}
return "02:00:00:00:00:00"
}
}
1条答案
按热度按时间nnt7mjpx1#
您可以尝试下面的插件来获取Android或iOS的MAC地址.
https://pub.dev/packages/mac_address
我希望你能得到你想要的。