0

0

MAUI怎么获取设备信息 MAUI DeviceInfo使用方法

月夜之吻

月夜之吻

发布时间:2026-01-28 11:51:37

|

678人浏览过

|

来源于php中文网

原创

在 .NET MAUI 中通过 Microsoft.Maui.ApplicationModel.DeviceInfo 类可跨平台获取设备信息,支持 Platform、Idiom、Manufacturer、Model、VersionString 和 Name(iOS 16+ 需配置 entitlement)等属性,并建议结合 Idiom 与屏幕指标进行响应式适配。

maui怎么获取设备信息 maui deviceinfo使用方法

在 .NET MAUI 中获取设备信息,主要通过 Microsoft.Maui.ApplicationModel.DeviceInfo 类实现,无需第三方库或平台特定代码,开箱即用。

基础设备信息获取

DeviceInfo 提供跨平台的只读属性,涵盖系统、设备和运行环境的关键标识:

  • DeviceInfo.Platform:返回 Platforms.iOSPlatforms.AndroidPlatforms.WinUIPlatforms.MacCatalyst,用于条件逻辑分支
  • DeviceInfo.Idiom:识别设备形态,如 DeviceIdiom.PhoneDeviceIdiom.TabletDeviceIdiom.Desktop,适配 UI 布局很实用
  • DeviceInfo.ManufacturerDeviceInfo.Model:返回厂商名(如 "Samsung")与型号(如 "SM-S918B"),注意 Android 上可能被厂商定制覆盖
  • DeviceInfo.VersionString:系统版本号字符串(如 "17.6.1" 或 "14"),比 DeviceInfo.Version(Version 对象)更易读

iOS 用户自定义设备名支持

从 iOS 16 起,若需获取用户在「设置 → 通用 → 关于本机 → 名称」中设置的设备名(而非默认的 "iPhone" 或 "iPad"),需额外配置:

  • Entitlements.plist 中启用 com.apple.developer.device-information.user-assigned-device-name 权限
  • 调用 DeviceInfo.Name 属性才返回用户设置的名称;否则仍返回系统默认名
  • 该权限仅影响 iOS,Android 和其他平台直接返回设备名(如 Manufacturer + Model 组合)

屏幕与方向辅助判断

DeviceInfo 本身不提供屏幕尺寸或方向,但可配合其他 API 构建完整设备画像:

Designs.ai
Designs.ai

AI设计工具

下载
  • DeviceInfo.Idiom 判断是手机还是平板,再结合 WindowSizeDisplayInfo.Current.Width 做精细适配
  • 监听 DisplayInfo.MainDisplayInfoChanged 事件响应横竖屏切换
  • 避免依赖 DeviceInfo.Platform == Platforms.Android 做所有判断,应优先用 Idiom 和实际屏幕指标,更符合响应式设计原则

注意事项与常见问题

部分属性在模拟器/仿真器中返回值受限或不准确:

  • Android 模拟器常返回 "Google" 和 "sdk_gphone64_x86_64",不代表真实设备
  • iOS 模拟器的 DeviceInfo.Name 默认为 "iPhone Simulator",即使配置了 entitlement 也不生效
  • 真机调试时,DeviceInfo.Idiom 在折叠屏设备上可能返回 PhoneTablet,取决于当前展开状态,建议搭配 FoldableInfo 使用

基本上就这些。用好 DeviceInfo 的核心是区分“平台类型”和“设备形态”,别把 Platform 当成 UI 适配唯一依据。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

298

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

212

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1501

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

624

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

613

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

588

2024.04.29

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

171

2025.07.29

c++字符串相关教程
c++字符串相关教程

本专题整合了c++字符串相关教程,阅读专题下面的文章了解更多详细内容。

83

2025.08.07

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

158

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 13.9万人学习

Java 教程
Java 教程

共578课时 | 52.3万人学习

Uniapp从零开始实现新闻资讯应用
Uniapp从零开始实现新闻资讯应用

共64课时 | 6.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号