flutter如何获取设备型号

在Flutter开发中,如何获取当前设备的型号信息?比如需要区分是iPhone还是具体Android机型。我尝试过device_info_plus插件,但获取到的数据格式不太统一,有没有更可靠的方法或最佳实践?

2 回复

在Flutter中,使用device_info包获取设备型号。导入包后,通过DeviceInfoPlugin获取设备信息,Android用androidInfo.model,iOS用iosInfo.model

更多关于flutter如何获取设备型号的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在 Flutter 中,可以通过 device_info_plus 包获取设备型号等信息。以下是具体步骤:

  1. 添加依赖
    pubspec.yaml 文件中添加:

    dependencies:
      device_info_plus: ^9.0.0
    

    运行 flutter pub get 安装包。

  2. 代码实现

    import 'package:device_info_plus/device_info_plus.dart';
    
    Future<String> getDeviceModel() async {
      final DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
      
      if (Platform.isAndroid) {
        AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
        return androidInfo.model; // 例如 "Pixel 5"
      } else if (Platform.isIOS) {
        IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
        return iosInfo.utsname.machine; // 例如 "iPhone14,5"
      }
      return "Unknown";
    }
    
  3. 使用示例

    String deviceModel = await getDeviceModel();
    print('设备型号: $deviceModel');
    

注意事项

  • iOS 返回的是设备标识符(如 iPhone14,5),可查阅苹果官方文档对应具体型号。
  • 需要处理权限(Android 无需额外权限,iOS 自动处理)。
  • 建议在异步函数中调用,并处理异常。

通过以上方法即可准确获取 Android/iOS 的设备型号信息。

回到顶部