Flutter获取应用版本号
-
安装依赖(pubspec.yaml文件)
package_info: ^0.4.0+2
-
导入
import ‘package:package_info/package_info.dart’;
-
在你的pubspec.yaml文件头部
注意这段话,不翻译了。。。
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
然后注意的是像android的包名,以及ios的配置信息需要单独去对应的文件夹下(android ,ios)处理,比如android就是build.gradle
PackageInfo packageInfo = await PackageInfo.fromPlatform();
String appName = packageInfo.appName;
String packageName = packageInfo.packageName;
String version = packageInfo.version;
String buildNumber = packageInfo.buildNumber;
PackageInfo.fromPlatform().then((PackageInfo packageInfo) {
String appName = packageInfo.appName;
String packageName = packageInfo.packageName;
String version = packageInfo.version;
String buildNumber = packageInfo.buildNumber;
然后 PackageInfo里面可以获取这么多信息
/// 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.
final String buildNumber;
Flutter更新应用
做过移动开发的小伙伴应该知道 移动端升级主要是本地安装包版本,本地运行版本,线上版本三者进行比对,Android: 下载新版本包,ios:跳转AppStore链接,这里就不多说了。
我们现在使用flutter更新版本
下载apk:
引入
dependencies:
flutter_downloader: 1.1.3
taskId = await FlutterDownloader.enqueue(
url: url,//服务端提供apk文件下载路径
savedDir: (await getExternalStorageDirectory()).path.toString(),//本地存放路径
fileName: “xiangta_” + netCode + “.apk”,//存放文件名
showNotification: false,//是否显示在通知栏
openFileFromNotification: false,//是否在通知栏可以点击打开此文件
//taskId为任务id (与完成下载的文件成一一对应)open是执行打开 打开需要任务id 相信你已经找到方向了
FlutterDownloader.registerCallback((taskId, status, progress) {
if (status == DownloadTaskStatus.complete) {
//下载完成
FlutterDownloader.open(taskId:taskId));
} else if (status == DownloadTaskStatus.failed) {
//下载出错
Flutter获取应用版本号安装依赖(pubspec.yaml文件)package_info: ^0.4.0+2导入import ‘package:package_info/package_info.dart’;在你的pubspec.yaml文件头部注意这段话,不翻译了。。。# In Android, build-name is used as versionNam...
Flutter AppAvailability插件
Flutter插件,可让您检查是否已安装/启用
应用程序,启动
应用程序并
获取已安装的
Flutter AppAvailability插件。
Flutter插件可让您检查是否已安装/启用
应用程序,然后启动
应用程序。
应用并
获取已安装
应用的列表。
该插件的灵感来自Cordova的AppAvailability插件。
入门有关
Flutter入门的帮助,请查看我们的在线文档。
有关编辑插件代码的帮助,请查看文档。
安装首先,在您的pubspec.yaml文件中添加
flutter_appavailability作为依赖项。
可用方法检查
然后在关于页
动态展示app名称,
版本号等
信息
app启动的时候(或者在使用前调用也可以)调用PackageInfoUtil.init()初始化packageInfo
信息
在需要展示包
信息的地方调用PackageInfoUtil提取
信息
包
信息获取工具源码
import 'package:package_info/package_info.dart';
/// 包
信息工具
/// 1. app名
/// 2.
版本号
/// 3. 构建号
可以使用这个官方推荐的 package:
https://plus.fluttercommunity.dev/docs/package_info_plus/overview
dependencies:
flutter:
sdk: flutter
package_info_plus: "^1.3.0"
import 'package:package_info_plus/package_info_plus.dart';
PackageInfo packageInfo = aw
应用的启动
应用启动方案
通常在应用启动时根据用户是否是第一次打开决定是直接进入应用还是进入引导页,本例中通过在应用中文件存储用户上次启动的应用版本以判断是否进入引导页.
获取应用版本
引入 package_info
dependencies:
flutter:
sdk: flutter
package_info: ^0.3.2+1
读取版本信息
Future<...
在进行APP版本迭代的过程中, 有时我们需要通过
获取当前APP的
版本号, 与后端服务器
获取的当前最新版本进行比对, 如果出现了最新版本, 我们提醒用户进行
应用更新. 本篇文章就来记录一下
Flutter获取包名、
应用APP名称、
版本号、build构建
版本号.
有图有真相, 先来看下最终效果吧!
应用场景
通过检查当前APP
版本号来判断是否需要更新.
APP出现错误日志需要传回服务器时,
获取APP基本
信息(也就是看看bug出现在哪个版本!).
引入PackageInfo
Flutter保活应用有多种方式,以下是一些常见的方法:
1. 使用Android原生的保活机制,例如使用Service或者JobScheduler等。这种方式需要在Flutter和Android原生代码之间进行通信,可以使用Flutter插件来实现。
2. 使用Flutter插件来实现保活。例如使用flutter_isolate插件,可以在Flutter中创建一个独立的Isolate来保持应用的运行。另外,也可以使用flutter_foreground_plugin插件来将应用置于前台,从而保持应用的运行。
3. 使用Flutter的定时任务机制来轮询应用状态。例如使用flutter_background_fetch插件,可以在应用后台执行定时任务来保持应用的运行。
需要注意的是,不同的保活方式对于应用的性能和电量消耗有不同的影响。开发者需要根据具体的需求和场景选择合适的保活方式。