• 第三百六十五回



    我们在上一章回中介绍了"如何获取设备信息"相关的内容,本章回中将介绍如何获取App自身的信息.闲话休提,让我们一起Talk Flutter吧。

    在这里插入图片描述

    1. 概念介绍

    我们在本章回中获取的App自身信息主要指App的包名称,编译版本号等信息。如果是原生开发的话,使用官方提供的接口就可以实现,但是在Flutter开发中没有类似的
    接口,怎么办呢?本章回中将给大家介绍如何去获取这些App自身信息。

    2. 方法与信息

    2.1 获取方法

    我们想要获取的App自身信息可以通过package_info_plus这个三方包来实现。该包提供了相关的接口来获取App自身信息。详细的使用方法如下:

    • 添加包的信息到yaml配置文件中,然后通过get命令获取包;
    • 创建包中提供的App类型对象,并且通过包中提供的静态方法:fromPlatform()获取到该对象;
    • App相关的信息为类的成员属性,从对象的属性中获取App自身的信息;
      上面的方法看着简单,不过还有一些内容需要注意:获取App自身信息时需要使用异步操作,不然无法获取到App自身的信息。

    2.2 详细信息

    App自身的信息以类的成员属性存放在类的对象中,下面是类中的成员属性,请大家参考:

      /// The app name. `CFBundleDisplayName` on iOS, `application/label` on Android.
      final String appName;
    
      /// The package name. `bundleIdentifier` on iOS, `getPackageName` on Android.
      final String packageName;
    
      /// The package version. `CFBundleShortVersionString` on iOS, `versionName` on Android.
      final String version;
    
      /// The build number. `CFBundleVersion` on iOS, `versionCode` on Android.
      /// Note, on iOS if an app has no buildNumber specified this property will return version
      /// Docs about CFBundleVersion: https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleversion
      final String buildNumber;
    
      /// The build signature. Empty string on iOS, signing key signature (hex) on Android.
      final String buildSignature;
    
      /// The installer store. Indicates through which store this application was installed.
      final String? installerStore;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    3. 示例代码

      ///获取当前app的版本信息
      void getPackageInfo() async {
        var pkgInfo = await PackageInfo.fromPlatform();
        debugPrint("package info: ${pkgInfo.toString()}");
      }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    上面的示例代码演示了如何获取App自身的信息,编译并且运行上面的程序可以得到下面的运行结果:

      ///打印出的信息如下:
      ///appName: fluttercookbook, buildNumber: 1, packageName: com.cookbook.flutter.fluttercookbook, version: 1.0.0
    
    • 1
    • 2

    4. 内容总结

    最后,我们对本章回的内容做一个全面的总结:

    • Flutter没有提供获取App自身信息的接口,可以通过三方包实现;
    • 获取的App信息存放在类的成员属性中,可以通过类的对象获取到;
    • 获取App自身信息需要通过异步操作来实现;
      看官们,与"如何获取App自身的信息"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!
  • 相关阅读:
    【单片机毕业设计】【mcuclub-jj-052】基于单片机的电脑散热底座的设计
    Oracle 11G 性能优化一例
    mysql面试内容点
    《C++ Primer》第3章 字符串、向量和数组(二)
    Android 13.0 系统多个播放器app时,设置默认播放器
    河道水文标尺识别系统
    静态双位置继电器GLS-3004K/DC220V
    第28章_瑞萨MCU零基础入门系列教程之基于面向对象的工程结构
    Golang | Leetcode Golang题解之第122题买卖股票的最佳时机II
    14 卡尔曼滤波及代码实现
  • 原文地址:https://blog.csdn.net/talk_8/article/details/136276603