应用信息
本文介绍如何使用 .NET Multi-platform App UI (.NET MAUI) IAppInfo 接口,该接口提供有关应用的信息。
IAppInfo
接口的默认实现通过 AppInfo.Current 属性提供。 IAppInfo
接口和 AppInfo
类都包含在 Microsoft.Maui.ApplicationModel
命名空间中。
读取应用信息
IAppInfo
接口公开以下属性:
- Name — 应用名称。
- PackageName — 包名称或应用标识符,例如
com.microsoft.myapp
。 - VersionString — 应用版本,例如
1.0.0
。 - Version — 应用版本,作为 Version 对象。
- BuildString — 版本的内部版本号,例如
1000
。 - RequestedTheme — 检测到的系统或应用主题。
- PackagingModel — 应用的打包模型。
- RequestedLayoutDirection — 系统或应用请求的布局方向。
下面的代码示例展示如何访问其中一些属性:
string name = AppInfo.Current.Name;
string package = AppInfo.Current.PackageName;
string version = AppInfo.Current.VersionString;
string build = AppInfo.Current.BuildString;
获取当前主题
RequestedTheme 属性提供系统当前为应用请求的主题。 返回以下值之一:
如果操作系统没有特定的用户界面样式,则返回 Unspecified
。 例如,设备在版本低于 13.0 的 iOS 上运行。
以下代码示例展示如何获取主题:
ThemeInfoLabel.Text = AppInfo.Current.RequestedTheme switch
{
AppTheme.Dark => "Dark theme",
AppTheme.Light => "Light theme",
_ => "Unknown"
};
获取布局方向
RequestedLayoutDirection 属性提供系统用于应用的当前布局方向。 返回以下值之一:
当布局方向未知时,将返回 Unknown
。
以下代码示例展示如何获取布局方向:
LayoutDirection layoutDirection = AppInfo.Current.RequestedLayoutDirection;
显示应用设置
IAppInfo 类还可以显示操作系统为应用维护的设置页面:
AppInfo.Current.ShowSettingsUI();
此设置页面使用户能够更改应用程序权限,并执行其他特定于平台的任务。
平台实现细节
本部分介绍与 IAppInfo 接口相关的特定于平台的实现详细信息。
应用信息提取自用于以下字段的 AndroidManifest.xml:
- BuildString —
manifest
节点中的android:versionCode
- Name —
application
节点中的android:label
- PackageName —
manifest
节点中的package
- VersionString —
manifest
节点中的android:versionName
请求的主题
Android 使用配置模式来指定要向用户请求的主题类型。 它可以由用户更改,也可以在节电模式启用时更改,具体视 Android 版本而定。
有关详细信息,请参阅官方的 Android 深色主题文档。