Flutter 中判断平台,获取设备信息

一、判断平台

导入平台Platform库

import 'dart:io';

判断平台代码:

f(Platform.isIOS){

//ios相关代码

}else if(Platform.isAndroid){

//android相关代码

}

二、安装插件

配置 device_info插件。

dependencies:
  flutter:
    sdk: flutter
 
  # 设备信息
  device_info: ^1.0.0

在 pubspec.yaml 中配置保存后,在 VC Code环境中会自动下载依赖包。
如果无法正常下载,执行 flutter pub get.

三、引入依赖

在需要用到该插件的文件中引入插件包

// 引入插件
import 'package:device_info/device_info.dart';

四、使用插件

苹果设备:

DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
print('设备唯一标识:${iosInfo.identifierForVendor}');

安卓设备:

DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
IosDeviceInfo iosInfo = await deviceInfo.androidInfo;
print('设备唯一标识:${iosInfo.identifierForVendor}');

平台判断:

import 'dart:io';
import 'package:flutter/foundation.dart';

class PlatformUtils {

  static bool _isWeb() {
    return kIsWeb == true;
  }

  static bool _isAndroid() {
    return _isWeb() ? false : Platform.isAndroid;
  }

  static bool _isIOS() {
    return _isWeb() ? false : Platform.isIOS;
  }

  static bool _isMacOS() {
    return _isWeb() ? false : Platform.isMacOS;
  }

  static bool _isWindows() {
    return _isWeb() ? false : Platform.isWindows;
  }

  static bool _isFuchsia() {
    return _isWeb() ? false : Platform.isFuchsia;
  }

  static bool _isLinux() {
    return _isWeb() ? false : Platform.isLinux;
  }

  static bool get isWeb => _isWeb();

  static bool get isAndroid => _isAndroid();

  static bool get isIOS => _isIOS();

  static bool get isMacOS => _isMacOS();

  static bool get isWindows => _isWindows();

  static bool get isFuchsia => _isFuchsia();

  static bool get isLinux => _isLinux();
}

猜你喜欢

转载自blog.csdn.net/guoxulieying/article/details/131512663