第三百四十二回
2024-01-03 00:29:45
我们在上一章回中介绍了"如何获取设备信息"相关的内容,本章回中将介绍如何获取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;
3. 示例代码
///获取当前app的版本信息
void getPackageInfo() async {
var pkgInfo = await PackageInfo.fromPlatform();
debugPrint("package info: ${pkgInfo.toString()}");
}
上面的示例代码演示了如何获取App自身的信息,编译并且运行上面的程序可以得到下面的运行结果:
///打印出的信息如下:
///appName: fluttercookbook, buildNumber: 1, packageName: com.cookbook.flutter.fluttercookbook, version: 1.0.0
4. 内容总结
最后,我们对本章回的内容做一个全面的总结:
- Flutter没有提供获取App自身信息的接口,可以通过三方包实现;
- 获取的App信息存放在类的成员属性中,可以通过类的对象获取到;
- 获取App自身信息需要通过异步操作来实现;
看官们,与"如何获取App自身的信息"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!
文章来源:https://blog.csdn.net/talk_8/article/details/135351541
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!