Flutter笔记:获取设备信息
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// 此处省略其他代码...
// 获取并显示设备信息的函数
Future<void> _showDeviceInfo(BuildContext context) async {
String deviceInfo;
// 获取设备信息
if (Theme.of(context).platform == TargetPlatform.android) {
deviceInfo = 'Android设备信息: \n'
'设备型号: ${await DeviceInfoPlugin().androidInfo.model}\n'
'设备厂商: ${await DeviceInfoPlugin().androidInfo.manufacturer}\n'
'设备名称: ${await DeviceInfoPlugin().androidInfo.deviceName}\n';
} else if (Theme.of(context).platform == TargetPlatform.iOS) {
deviceInfo = 'iOS设备信息: \n'
'设备型号: ${await DeviceInfoPlugin().iosInfo.model}\n'
'设备制造商: ${await DeviceInfoPlugin().iosInfo.utsname.machine}\n';
}
// 显示设备信息
showDialog(
context: context,
builder: (context) {
return AlertDialog(
title: Text('设备信息'),
content: Text(deviceInfo ?? '无法获取设备信息'),
actions: <Widget>[
FlatButton(
child: Text('关闭'),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
},
);
}
@override
Widget build(BuildContext context) {
// 此处省略其他代码...
// 显示设备信息的按钮
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
child: Text('获取设备信息'),
onPressed: () => _showDeviceInfo(context),
),
],
),
),
);
}
}
在这个代码实例中,我们使用了DeviceInfoPlugin
插件来获取设备信息,并在一个弹窗中展示了这些信息。这个例子简洁明了,并且包含了在实际项目中可能遇到的一些处理方式,如平台判断和异步处理。
评论已关闭