📌  相关文章
📜  如何在Flutter中获取设备的 MAC 地址?

📅  最后修改于: 2022-05-13 01:54:41.027000             🧑  作者: Mango

如何在Flutter中获取设备的 MAC 地址?

Flutter SDK 是 Google 的一个开源软件开发工具包,用于从单个代码库为多个平台开发应用程序。有时,您的应用需要知道设备的 MAC 地址。 MAC(媒体访问控制)地址是 LAN 网络上设备的唯一标识符。

方法:使用flutter包get_mac获取客户端设备的MAC地址。

分步实施

第 1 步:导航到pubspec.yaml文件

在 VS Code 中打开您的项目并导航到pubspec.yaml文件:

第二步:添加依赖

添加get_mac dart包作为依赖项并保存文件。

第三步:下载依赖

在 VS 代码中打开终端并运行以下命令以下载添加的依赖项。

flutter pub get

第 4 步:示例代码

我们将使用GetMacmacAddress属性来获取设备的 MAC 地址。这适用于 iOS 和 Android 设备。

Dart
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get_mac/get_mac.dart';
  
void main() {
  runApp(const MyApp());
}
  
class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);
  
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'MAC Finder',
      theme: ThemeData(
        primarySwatch: Colors.green,
      ),
      home: const Home(),
    );
  }
}
  
class Home extends StatefulWidget {
  const Home({Key? key}) : super(key: key);
  
  @override
  State createState() => _HomeState();
}
  
class _HomeState extends State {
  String _deviceMAC = 'Click the button.';
  // Platform messages are async in nature
  // that's why we made a async function.
  Future initMacAddress() async {
    String macAddress;
  
    try {
      macAddress = await GetMac.macAddress;
    } on PlatformException {
      macAddress = 'Error getting the MAC address.';
    }
  
    setState(() {
      _deviceMAC = macAddress;
    });
  }
  
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('MAC address of a device'),
      ),
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.max,
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(
              _deviceMAC,
              style: const TextStyle(fontSize: 26, fontWeight: FontWeight.bold),
            ),
            ElevatedButton(
              onPressed: () {
                initMacAddress();
              },
              child: const Text("Get MAC Address"),
            ),
          ],
        ),
      ),
    );
  }
}


输出:

输出