You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter开发中如何获取安卓设备的设备名称

安卓端获取系统自定义设备名称实现方案

你此前使用的device_info包仅返回设备硬件出厂标识,无法读取用户在系统设置中修改的自定义设备名称,可根据开发场景选择以下实现方案:

原生安卓开发实现

  • 直接调用系统API读取Settings.Global.DEVICE_NAME字段即可,读不到时兜底返回出厂型号:
// Kotlin实现
fun getCustomDeviceName(): String {
    val name = Settings.Global.getString(contentResolver, Settings.Global.DEVICE_NAME)
    return name ?: Build.MODEL
}
// Java实现
public String getCustomDeviceName() {
    String name = Settings.Global.getString(getContentResolver(), Settings.Global.DEVICE_NAME);
    return name != null ? name : Build.MODEL;
}

Flutter跨平台开发实现

  • 改用官方维护的device_info_plus包,该包已封装了自定义设备名称的读取逻辑:
  1. 在pubspec.yaml中添加依赖:
dependencies:
  device_info_plus: ^9.1.2
  1. 调用对应方法获取:
import 'package:device_info_plus/device_info_plus.dart';

Future<String> getAndroidDeviceName() async {
  AndroidDeviceInfo androidInfo = await DeviceInfoPlugin().androidInfo;
  // 此处的device字段即为系统设置中显示的自定义设备名称
  return androidInfo.device ?? androidInfo.model;
}

注意事项

  • 安卓12及以上系统无需额外权限即可读取该字段,低版本系统如果出现读取失败的情况,可在AndroidManifest.xml中添加android.permission.READ_DEVICE_CONFIG权限
  • 部分国内定制ROM如果限制了应用的设备信息读取权限,会出现读不到自定义名称的情况,此时兜底返回出厂型号即可保证业务可用
  • 若用户未修改过默认设备名称,读取到的结果和出厂型号一致

内容的提问来源于stack exchange,提问作者Samuel Juliano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 06:42:02