美文网首页flutter
Flutter 学习 之 获取 APP相关数据 和 手机相关信息

Flutter 学习 之 获取 APP相关数据 和 手机相关信息

作者: 半城半离人 | 来源:发表于2022-04-19 23:41 被阅读0次

    找到了两个比较有用的插件记录一下
    1. #获取应用的数据信息 package_info_plus: ^1.4.2
    2. #获取当前运行平台信息 device_info_plus: ^3.2.3

    使用方法

    1.引入

    dependencies:
      #获取应用的数据信息
      package_info_plus: ^1.4.2
      #获取当前运行平台信息
      device_info_plus: ^3.2.3
    

    使用

    1. package_info_plus 插件返回信息有限只能返回五个把 感觉有用的就只有这三个了.图标可以自己写原生交互传到Flutter 不过我偷懒直接丢在assets里面去了..
        PackageInfo info =  await PackageInfo.fromPlatform();
        appName = info.appName;
        buildNumber = info.buildNumber;
        version = info.version;
    
    1. device_info_plus 这个插件返回的数据很多也很乱 每个平台返回的还是不一样的类 我简单的做了一个整合提取了需要的东西...
      ///获取设备信息
      static get deviceInfo async {
        final DeviceInfoPlugin deviceInfoPlugin = DeviceInfoPlugin();
        Map<String, dynamic> deviceData = <String, dynamic>{};
        AndroidDeviceInfo? androidInfo;
        IosDeviceInfo? iosInfo;
        if (Platform.isIOS) {
          iosInfo = await deviceInfoPlugin.iosInfo;
        } else {
          androidInfo = await deviceInfoPlugin.androidInfo;
        }
        deviceData = _readDeviceInfo(androidInfo, iosInfo);
        return deviceData;
      }
    
      static _readDeviceInfo(
          AndroidDeviceInfo? androidInfo, IosDeviceInfo? iosInfo) {
        Map<String, dynamic> data = <String, dynamic>{
          //手机品牌加型号
          "brand": Platform.isIOS
              ? iosInfo?.name
              : "${androidInfo?.brand} ${androidInfo?.model}",
          //当前系统版本
          "systemVersion": Platform.isIOS
              ? iosInfo?.systemVersion
              : androidInfo?.version.release,
          //系统名称
          "Platform": Platform.isIOS ? iosInfo?.systemName : "Android",
          //是不是物理设备
          "isPhysicalDevice": Platform.isIOS
              ? iosInfo?.isPhysicalDevice
              : androidInfo?.isPhysicalDevice,
          //用户唯一识别码
          "uuid": Platform.isIOS
              ? iosInfo?.identifierForVendor
              : androidInfo?.androidId,
          //手机具体的固件型号/Ui版本
          "incremental": Platform.isIOS
              ? iosInfo?.systemVersion
              : androidInfo?.version.incremental,
        };
        return data;
      }
    

    相关文章

      网友评论

        本文标题:Flutter 学习 之 获取 APP相关数据 和 手机相关信息

        本文链接:https://www.haomeiwen.com/subject/vfukertx.html