device_info_plus_harmonyos 0.0.1
device_info_plus_harmonyos: ^0.0.1 copied to clipboard
HarmonyOS implementation of the device_info_plus plugin.
example/lib/main.dart
import 'dart:async';
import 'package:device_info_plus_harmonyos/device_info_plus_harmonyos.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
void main() {
runApp(MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('HarmonyOS Device Info')),
body: const MyApp())));
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
static final DeviceInfoPlusPlugin deviceInfoPlugin = DeviceInfoPlusPlugin();
Map<String, dynamic> _deviceData = <String, dynamic>{};
@override
void initState() {
super.initState();
initPlatformState();
}
Future<void> initPlatformState() async {
if (defaultTargetPlatform == TargetPlatform.ohos) {
_deviceData = _readOhosDeviceInfo(await deviceInfoPlugin.ohosInfo);
setState(() {});
}
}
Map<String, dynamic> _readOhosDeviceInfo(OhosDeviceInfo data) {
return <String, dynamic>{
'deviceType': data.deviceType,
'manufacture': data.manufacture,
'brand': data.brand,
'marketName': data.marketName,
'productSeries': data.productSeries,
'productModel': data.productModel,
'softwareModel': data.softwareModel,
'hardwareModel': data.hardwareModel,
'hardwareProfile': data.hardwareProfile,
'bootloaderVersion': data.bootloaderVersion,
'abiList': data.abiList,
'securityPatchTag': data.securityPatchTag,
'displayVersion': data.displayVersion,
'incrementalVersion': data.incrementalVersion,
'osReleaseType': data.osReleaseType,
'osFullName': data.osFullName,
'majorVersion': data.majorVersion,
'seniorVersion': data.seniorVersion,
'featureVersion': data.featureVersion,
'buildVersion': data.buildVersion,
'sdkApiVersion': data.sdkApiVersion,
'firstApiVersion': data.firstApiVersion,
'versionId': data.versionId,
'buildType': data.buildType,
'buildUser': data.buildUser,
'buildHost': data.buildHost,
'buildTime': data.buildTime,
'buildRootHash': data.buildRootHash,
'distributionOSName': data.distributionOSName,
'distributionOSVersion': data.distributionOSVersion,
'distributionOSApiVersion': data.distributionOSApiVersion,
'distributionOSReleaseType': data.distributionOSReleaseType,
'ODID': data.odID,
};
}
@override
Widget build(BuildContext context) {
return ListView(
children: _deviceData.entries.map((entry) {
return Padding(
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
child: Row(spacing: 10, children: [
Text('${entry.key}: ',
style: const TextStyle(fontWeight: FontWeight.bold)),
Expanded(
child: Text('${entry.value ?? 'N/A'}',
maxLines: 10, overflow: TextOverflow.ellipsis))
]),
);
}).toList(),
);
}
}