Display.HdrCapability 和configuration.isScreenHdr 之间有什么区别

2023-12-04

我想了解 Android 上的 HDR 功能,因此我编写了以下代码来检查这一点。

        Display display = getWindowManager().getDefaultDisplay();
        Display.HdrCapabilities hdrCapabilities = display.getHdrCapabilities();
        int[] types = hdrCapabilities.getSupportedHdrTypes();
        for (int i=0; i<types.length; i++) {
            Log.d(TAG, "Support HDR TYPE " + types[i]);
        }
        float maxAverage = hdrCapabilities.getDesiredMaxAverageLuminance();
        float maxLum = hdrCapabilities.getDesiredMaxLuminance();
        float minLum = hdrCapabilities.getDesiredMinLuminance();
        Log.d(TAG, "Max Average " + maxAverage + " maxLum " + maxLum + " minLum " + minLum);

        Configuration configuration = new Configuration();
        boolean isWideColor = configuration.isScreenWideColorGamut();
        boolean isHDR = configuration.isScreenHdr();
        Log.d(TAG,"Configuration wide color " + isWideColor + " hdr " + isHDR);

在我的 Pixel 2 手机上,结果是

Support HDR TYPE 2 //HDR_TYPE_HDR10
Support HDR TYPE 3 //HDR_TYPE_HLG
Max Average 500.0 maxLum 500.0 minLum 0.0
Configuration wide color false hdr false

我对此感到困惑,我知道Pixel2实际上可以播放HDR10内容,但为什么配置说它不支持HDR和广色域。

参考:https://source.android.com/devices/tech/display/hdr

https://source.android.com/compatibility/android-cdd


您构建了无效的配置:Configuration();并将其传递给 Configuration 对象。要解决这个问题,请替换:

Configuration configuration = new Configuration();

with :

Configuration configuration = getResources().getConfiguration();

检查 HDR 和广色域支持时,您希望设备的配置不是空的构造函数。因此,使用后一个代码是有意义的。
参考:https://developer.android.com/reference/android/content/res/Configuration

此类描述了可能影响应用程序检索的资源的所有设备配置信息。这包括用户指定的配置选项(区域设置列表和缩放)以及设备配置(例如输入模式、屏幕尺寸和屏幕方向)。

您可以使用 Resources#getConfiguration 从资源中获取此对象。因此,从活动中,您可以通过将请求与 ContextThemeWrapper.getResources() 链接来获取它:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Display.HdrCapability 和configuration.isScreenHdr 之间有什么区别 的相关文章

  • 如何做Android - 滑动抽屉从左到右滑动..?

    如何将android滑动抽屉从LTR滑动 使用时android orientation horizontal 它从 RTL 滑出 我该如何进行 LTR 谢谢 我找到了答案表格 Here http blog sephiroth it 2011
  • 如何从 SDK 实现每个会话的 Google Places 自动完成功能?

    是否可以从 Android 和 iOS 应用程序的 place sdk 实现基于会话的自动完成 根据 6 月 11 日生效的新 Google 地图框架定价 对自动完成的请求可以分为基于击键 会话的请求 我找不到描述实施步骤的文档 除了这个参
  • android edittext中的字符映射

    我想让我的编辑文本就像我写字符 g 时一样 它是相关的映射自定义字符应该写成印地语中的 我认为应该有字符映射 但没有知识任何人都可以帮助我 怎么做 其他应用程序https play google com store apps details
  • 如何自定义菜单项的背景颜色?

    我正在尝试定制Toolbar的弹出菜单 现在我无法设置菜单项的背景颜色 我的 styles xml 如下所示
  • 我在布局上看不到任何 FirebaseRecyclerAdapter 项目

    我试图将数据从 Firebase 数据库检索到我的布局 但我看不到任何项目FirebaseRecyclerAdapter在布局中 请帮忙 我按照一个教程展示了如何做到这一点 当我运行应用程序时 我没有看到任何项目 但我可以滚动 public
  • Android Studio:XML 布局中的“包装在容器中”

    编辑 XML 布局文件时 Eclipse 有一项称为 包裹在容器中 的功能 重新格式化 gt Android gt 可让您选择一个或多个视图并在其周围包裹您选择的布局 Android Studio中有类似的东西吗 目前正在实施中 问题 69
  • 如何正确释放Android MediaPlayer

    我正在尝试向我的 Android 应用程序添加一个按钮 当点击该按钮时它会播放 MP3 我已经让它工作了 但没有办法释放 mediaPlayer 对象 因此即使在我离开活动后它仍然会继续播放 如果我在react 方法之外初始化MediaPl
  • fetchUuidsWithSdp 的奇怪 UUID 逆转

    我有一个在树莓派上运行的 python 蓝牙服务器 使用 PyBluez 我在服务器中使用的uuid是 8f86d132 4ab8 4c15 b8df 0b70cf10ea56 我正在打电话device fetchUuidsWithSdp
  • 如何在 Linux 内核中定义并触发我自己的新软中断?

    我想在 Linux 内核中创建自己的软中断 这是正确的方法吗 In the init我想触发该模块的softirq我将添加一个调用 394 void open softirq int nr void action struct softir
  • 如何使用 Google Maps for Android V2 处理地图移动结束?

    我想在地图中心更改后立即对地址进行地理编码 如何使用新的 Android 版 Google 地图 V2 处理地图移动 我说的是用户用手指拖动地图的情况 查看新的地图 API Override public void onMapReady G
  • Android WebView里面的ScrollView只滚动scrollview

    在我的应用程序中 我有一个 ScrollView 其中包含一些线性视图 一些文本视图和一个 Webview 然后是其他线性布局等 问题是 WebView 不滚动 Scroll 仅侦听 ScrollView 有什么建议么
  • Android应用程序组件销毁和重新创建的详细信息

    有人可以向我提供一些具体的 值得信赖的 最好是简洁的 信息 内容如下 系统销毁和 如果适用 重新创建组件的顺序 片段 活动 活动的线程 异步任务 计时器 静态数据 类何时卸载 其他类中的线程 异步任务 定时器 主机 TabActivity
  • Bitmap.getPixels() 中的 IllegalArgumentException

    我想将数据从位图复制到int using getPixels 这是我当前的代码 int pixels new int myBitmap getHeight myBitmap getWidth myBitmap getPixels pixel
  • 如何重定向到 instagram://user?username={username}

    我的 html 页面上有这个链接 可以在特定用户上打开 Instagram 应用程序 a href Link to Instagram Profile a 我一直在寻找自动运行 url instagram user username USE
  • 在 android 中建立与 MySQL 的池连接

    我需要从我的 Android 应用程序访问 MySQL 数据库 现在所有的工作都通过 DriverManager getConnection url 等等 但我必须从多个线程访问数据库 所以我必须使用连接池 问题1 是 com mysql
  • Android:后台Activity可以执行代码吗?

    后台的活动是否被视为 正在运行 并且可以执行代码 还是处于挂起状态 他们暂停了 活动生命周期 http developer android com reference android app Activity html ActivityLi
  • Android Studio 缓慢的增量构建

    我已经完成了许多步骤来完善我们的构建系统 those https stackoverflow com questions 16775197 building and running app via gradle and android st
  • Android 中的处理程序与异步调用

    目前我正在使用处理程序来调用 Web 服务方法以使其在后台运行 问题是它需要更多的时间来给出响应 在性能方面似乎更昂贵 现在我计划使用异步调用 哪一个是最好的 Android 中的处理程序和异步调用有什么区别 请帮我想出一个最好的解决方案
  • Android 屏幕方向错误

    我使用的是 Android HTC HERO 2 1 版本 我写的活动
  • 有没有任何代码可以在android中设置壁纸而无需裁剪和缩放?

    我正在创建一个画廊应用程序 我的第一个应用程序 这是我的代码 Bitmap bmd BitmapFactory decodeStream is try getApplicationContext setWallpaper bmd catch

随机推荐

  • 导入错误:无法导入名称“_imagingtk”

    我正在使用 Anaconda 和 python 3 4 但我无法在 Windows 8 1 上获得我需要的所有枕头包 我通过 Anaconda 控制台安装了枕头 pip install pillow 这导致 The following pa
  • 无法在 Anaconda 中安装聊天机器人

    安装时chatterbot在 Anaconda 中使用 Python 3 7 我收到以下错误 找到现有安装 PyYAML 3 13 无法卸载 PyYAML 它 是一个 distutils 安装项目 因此我们无法准确地 确定哪些文件属于它 这
  • 如何在 PL/pgSQL 中按行类型返回表

    我正在尝试使用 PL pgSQL PostgreSQL 9 3 实现一个函数 该函数返回与参数中的输入表具有相同结构的表 基本上 我想更新一个表 并使用 plpgsql 返回更新后的表的副本 我搜索了一下 发现了几个相关的问题 例如从 PL
  • 继承 Angular 5 组件并覆盖装饰器属性

    在 Angular 2 4 中 我们可以创建自定义装饰器来扩展父组件 装饰器属性的实际重写是根据需要在自定义装饰器中处理的 为了获取父注释 我们使用了 let parentAnnotations Reflect getMetadata an
  • CMake:我如何依赖自定义目标的输出?

    我无法修改的传统 Make 流程会生成一个我必须对其进行一些后处理的目标 I use add custom target强制 Makefile 始终运行 我用add custom command对于我的后处理步骤 问题是add custom
  • 以编程方式从 IOS 中的配置文件检索数据

    我一直在搜索所有 Apple 文档 包括这些论坛 但无法从我在 iPhone 上创建并安装的配置文件中检索证书 进一步来说 使用 iPhone 配置实用程序 我创建了一个简单的配置文件 其中在 凭据 选项卡下包含一个证书 我现在尝试使用我的
  • 如何将 XML 块从一个文档复制到另一个文档?

    我有两个 dataGridView 每个都加载一个 XML 文件 这样您就可以在每个网格之间拖放行 然而目前 它所做的只是从 dataGridView 复制数据 这工作正常 但我需要复制与该行相关的所有 XML 这是我必须使用的 XML
  • WPF:使用线程访问 UI 对象会出现错误

    我有一个在文件夹中修改文件时调用的函数 此函数更新存储在 UI 中的列表视图的项目 这是函数 Private Sub FileChangeNotify Try LstMoulures Items Refresh Catch ex As Ex
  • 传递 ArrayList 到 Activity

    我搜索了一些主题 但没有找到解决我的问题的方法 public class Series implements Parcelable private String name private int numOfSeason private in
  • 图表工具在 Visual Studio 中呈灰色显示

    我正在尝试将图表添加到 Visual Studio 表单 但该按钮呈灰色 我正在使用 NET Framework 3 5 和 C 按照在线说明 我已从此链接下载并安装了 dll 文件 http www microsoft com en us
  • 如何在表单提交后使用 Ajax POST

    我认为这很简单 但我无法在任何地方找到如何做到这一点 正如标题所示 在成功提交表单帖子后如何执行 ajax 帖子 我试图搜索它 但我看到的只是与我需要的相反 这是在 ajax 帖子之后提交的 我会尝试制作一个与我正在做的非常相似的程序草案
  • React Native - 使用状态时文本输入闪烁

    我正在向 TextInput 组件的输入文本添加一些验证 TextInput 的值在状态中处理 并且仅在输入的值有效时更新 我的代码看起来像这样 class TextInputWithValidation extends Component
  • 选择时间序列的一部分

    在下面的代码中 我创建了一个简单的数据系列 一个时间向量 然后创建了一个时间序列 我对两者的绘制都没有问题 它们位于同一个图上并不重要 我无法弄清楚如何对时间序列的一部分进行子集化 如最后一个因错误而失败的命令所示 gt gt timese
  • 无法序列化/反序列化 ArrayList

    我正在尝试序列化和反序列化一个数组列表 其中包含一个对象 HairBirt param new HairBirt param setName name param setValue 2 3f HairBirt param2 new Hair
  • 有效地对矩阵进行行标准化

    我需要一种有效的方法来对稀疏矩阵进行行标准化 Given W matrix 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0
  • 注释属性的值必须是常量表达式

    我有一个通过 spring 注释读取的属性文件 如下所示 Value platform private String platform 获得平台参数后 我想读取第二个参数 具体取决于platform参数值 Value url platfor
  • 使用 JSON.NET 返回 ActionResult [重复]

    这个问题在这里已经有答案了 我正在尝试编写一个 C 方法来序列化模型并返回 JSON 结果 这是我的代码 public ActionResult Read DataSourceRequest DataSourceRequest reques
  • 如何将 JSONArray 转换为 ListView?

    我有一个执行以下操作的代码 通过 HttpClient 连接到 Web 服务到 PHP 文件 返回 SQL 查询的结果 返回格式为jArray JSONArray for int i 0 i lt jArray length i json
  • 如何从动态创建的(Java 中)layer-list / LayerDrawable 中获取 Android 资源 ID?

    此问题 答案帖子中的 解决方案 2 动态 在android中叠加两个图像以设置imageview 与我想要做的非常接近 即动态创建一个图层列表 对于状态栏通知图标 我想在图层中构建我的图标 但是通知API中的图标分配需要资源ID 我想从服务
  • Display.HdrCapability 和configuration.isScreenHdr 之间有什么区别

    我想了解 Android 上的 HDR 功能 因此我编写了以下代码来检查这一点 Display display getWindowManager getDefaultDisplay Display HdrCapabilities hdrCa