uwp - 哪个API可以获取显示屏亮度?

标签 uwp win-universal-app display

我发现:

BrightnessOverride bo = BrightnessOverride.GetDefaultForSystem();
bo.BrightnessLevel();

可能与亮度读取有关。但是当我运行代码时,出现异常:“访问被拒绝”。 API文档说它需要系统管理能力。我尝试创建一个 Package.appxmanifest 文件并在其中写入以下代码。但 Visual Studio 警告说,系统管理不允许对其进行争论。

有人知道为什么吗?或者其他获取显示亮度的建议?谢谢。

<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest">
  <Identity Name=""
            Version=""
            Publisher="" />
  <Properties>
    <DisplayName></DisplayName>
    <PublisherDisplayName></PublisherDisplayName>
    <Logo></Logo>
  </Properties>
  <Prerequisites>
    <OSMinVersion></OSMinVersion>
    <OSMaxVersionTested></OSMaxVersionTested>
  </Prerequisites>
  <Resources>
    <Resource Language="" />
  </Resources>
  <Capabilities>
    <Capability Name="systemManagement"/>
  </Capabilities>
  <Applications>
    <Application Id="" StartPage="">
      <VisualElements DisplayName="" Description=""
           Logo="" SmallLogo=""
           ForegroundText="" BackgroundColor="">
        <SplashScreen Image="" />
      </VisualElements>
    </Application>
  </Applications>
</Package>

最佳答案

用户(而不是应用程序)可以调整显示屏的亮度。自动调节亮度是系统的任务。哦,虽然不是一个强有力的理由,但请记住 UWP 可以在没有显示器的设备上运行。

因此,UWP 不提供此功能(获取显示器的当前亮度读数)。

至于为什么BrightnessOverride需要systemManagement能力,我不太明白。毕竟,这种覆盖是针对每个应用程序的,意味着只有应用程序本身受到影响。

编辑:

正如 Raymond 在评论中指出的那样,该 API 可以控制每个应用程序的亮度以及系统亮度。

设置显示亮度基本的系统管理,因此需要声明该功能。

关于uwp - 哪个API可以获取显示屏亮度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46482166/

相关文章:

c# - 如何将 ListView 项与 UWP 模型外部的数据绑定(bind)?

c# - 通过 HttpClient.PostAsync 的 POST 请求,主体内有 StorageFile (WinRT)

c# - 窗口手机8.1 : Change Background Color of Button

c# - UWP - 通过 C# 中的 GPS 传感器明确获取位置坐标

xamarin - 如何在 Xamarin Forms 中以适当的图像比例在 UWP 中设置 SpashScreen?

mvvm - Prism 与 UWP 的兼容性

javascript - WinJS xhr可以发出HTTPS请求吗?

html - Bootstrap 4 与可折叠和显示实用程序的兼容性

javascript - 按条件显示/隐藏 Angular 元素

html - 显示:行内 block 未对齐