Flutter -获取Android设备名称

webghufk  于 2023-01-14  发布在  Flutter
关注(0)|答案(3)|浏览(199)

我正在使用Flutter实现一个应用程序,我想使用device_info包获取设备名称,即X的华为手机。
我可以使用以下代码在iOS中获得它:

IosDeviceInfo iosDeviceInfo = await deviceInfo.iosInfo;
print('device name ${iosDeviceInfo.name}');

但是在Android中,我无法得到名称,我可以得到许多其他值,如型号、品牌和显示。
这个包或其他包中是否有一个参数,我可以从中获取Android设备的名称?

pbpqsu0x

pbpqsu0x1#

这是我实现的,只针对安卓和iOS进行了测试。本质上,iOS使用名称,而安卓使用制造商和型号。在大多数情况下,我相信你可以用制造商替换品牌,我没有太多测试设备,自己做研究。

import 'package:device_info/device_info.dart';

String getDeviceName(){
    Map deviceInfo = (await DeviceInfoPlugin().deviceInfo).data;
    String? brand = deviceInfo['brand'];
    String? model = deviceInfo['model'];
    String? name = deviceInfo['name'];

    return name ?? '$manufacturer $model';
}
qqrboqgw

qqrboqgw2#

您可以从板上获取Android设备的名称:

if(Platform.isAndroid){
  AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
  return androidInfo.board;
}
efzxgjgh

efzxgjgh3#

device_info软件包提供获取Android和iOS设备信息的功能。到目前为止,它不支持任何其他平台。

import 'package:device_info/device_info.dart';

DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
print('Running on ${androidInfo.model}');  // e.g. "Moto G (4)"

IosDeviceInfo iosInfo = await deviceInfo.iosInfo;
print('Running on ${iosInfo.utsname.machine}');  // e.g. "iPod7,1"

相关问题