找到了两个比较有用的插件记录一下
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
使用
- package_info_plus 插件返回信息有限只能返回五个把 感觉有用的就只有这三个了.图标可以自己写原生交互传到Flutter 不过我偷懒直接丢在assets里面去了..
PackageInfo info = await PackageInfo.fromPlatform();
appName = info.appName;
buildNumber = info.buildNumber;
version = info.version;
- 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;
}
网友评论