Flutter - 获取Android设备名称

9

我正在使用Flutter实现一个应用程序,并想使用device_info包获取设备名称,例如X的华为手机。

iOS中,我可以使用以下代码获取它:

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

但在 Android 中,我无法获得名称。我可以获取许多其他值,如型号、品牌和显示。

是否有一个参数或另一个包可以从中获取 Android 设备的名称?

3个回答

4

这是我实现的内容,仅在Android和iOS上进行了测试。基本上,iOS使用名称,而Android使用制造商和型号。在大多数情况下,我认为您可以将制造商替换为品牌,但我没有很多测试设备,请自行研究。

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';
}

-2

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

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

-3

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"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接