flutter:package_info_plus

  1. 介绍
  2. 使用

介绍

package_info_plus 是 Flutter 官方 Flutter Community Plus Plugins 系列里的一个常用插件。

它的作用是:获取应用程序自身的信息,比如 App 的名称、版本号、构建号、包名等。

常见功能:通过 package_info_plus,你可以在运行时获取:

  • appName:应用的名字(在 Android AndroidManifest.xml / iOS Info.plist 里配置的)。
  • packageName:应用包名(Android 的包名 / iOS 的 bundle identifier)。
  • version:应用的版本号(通常是 1.0.0)。
  • buildNumber:构建号(比如 1, 2, 3,通常配合 CI/CD 用来区分不同构建)。
  • buildSignature:应用签名(仅 Android)。
  • installerStore:应用是从哪个商店安装的(如 Google Play)。

使用

安装

flutter pub add package_info_plus

使用示例

import 'package:flutter/material.dart';
import 'package:package_info_plus/package_info_plus.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Package Info Demo',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: const AppInfoPage(),
    );
  }
}

class AppInfoPage extends StatefulWidget {
  const AppInfoPage({super.key});

  @override
  State<AppInfoPage> createState() => _AppInfoPageState();
}

class _AppInfoPageState extends State<AppInfoPage> {
  String appName = '';
  String packageName = '';
  String version = '';
  String buildNumber = '';

  @override
  void initState() {
    super.initState();
    _initPackageInfo();
  }

  Future<void> _initPackageInfo() async {
    // 一次性拿到一个 PackageInfo 对象,里面包含了应用的全部关键信息。
    final info = await PackageInfo.fromPlatform();
    setState(() {
      appName = info.appName;
      packageName = info.packageName;
      version = info.version;
      buildNumber = info.buildNumber;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text("App Info")),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Text('App Name: $appName'),
            Text('Package Name: $packageName'),
            Text('Version: $version'),
            Text('Build Number: $buildNumber'),
          ],
        ),
      ),
    );
  }
}

×

喜欢就点赞,疼爱就打赏