您查询的关键词是:安卓 api中文手册 
下面是原始网址 https://www.csdn.net/gather_2e/MtTakg4sNjgzMy1ibG9n.html 在 2021-04-16 01:33:30 的快照。

360搜索与该网页作者无关,不对其内容负责。

android中文api手册 - CSDN
精华内容
下载资源
问答
  • AndroidAPI中文手册

    2015-05-15 22:25:49
    中文AndroidAPI参考手册 懒得上传图片什么的,要的要,不要算了
  • AndroidAPI中文手册

    2014-12-03 16:34:51
    AndroidAPI中文手册,适合学习Android开发的初学者,。
  • android 安卓 中文手册 API

    2012-02-28 20:44:57
    android 安卓 中文手册 API 强大的中文文档,实用!!
  • Android6.0API中文手册CHM版,如果在win7环境打不开,请右键->解除锁定,重新打开OK,文件大小约60M
  • Android最新中文API帮助手册,分享给大家
  • Android中文API

    2013-05-13 15:59:32
    最新Android中文完整版API,Android API 手册 CHM格式。
  • Android2.2参考手册中文API.chm
  • Android 中文API合集

    2019-03-14 17:38:00
    AndroidAPI完整参考手册,新手+老手必备,值得参考,不看这个你白学Android
  • Android SDK文档》什么是Android? 从这里开始 安装SDK 更新SDK 开发与调试 Hello Android 应用程序解析 记事本教程 开发工具 应用程序模型 应用程序生命周期 开发应用程序 用户界面工具 应用构成部分 数据存储与...
  • 这个文档采用谷歌翻译,内容半中文、半英文。希望能对像我一样的新手有所帮助。api版本26.
  • 中文的~~~ Runtime Classes 实时运行类 AccelerationEvent <=> 加速度事件 AnchoredJoint2D <=> 2D锚关节 AndroidInput <=> 安卓输入 AndroidJavaClass <=> 安卓Java类 AndroidJavaObject <=> 安卓Java...
  • API开发手册在线中文

    千次阅读 2019-10-02 01:52:35
    Android中文api手册地址:http://www.matools.com/api/android Ant最新版 api手册地址:http://www.matools.com/api/ant ASM字节码操作 api手册地址:http://www.matools.com/api/asm Axis2最新版 api手册地址:...

    Android中文版
    api手册地址:http://www.matools.com/api/android

    Bootstrap 3
    api手册地址:http://www.matools.com/api/bootstrap3

    Bootstrap 4
    api手册地址:http://www.matools.com/api/bootstrap4

    C/C++
    api手册地址:http://www.matools.com/api/c

    CSS 3
    api手册地址:http://www.matools.com/api/css

    Go语言
    api手册地址:http://www.matools.com/api/go

    Hadoop
    api手册地址:http://www.matools.com/api/hadoop

    Hibernate中文版
    api手册地址:http://www.matools.com/api/hibernate

    Java 10
    api手册地址:http://www.matools.com/api/java10

    Java 6
    api手册地址:http://www.matools.com/api/java6

    Java 7
    api手册地址:http://www.matools.com/api/java7

    Java 8中文版
    api手册地址:http://www.matools.com/api/java8

    Jquery中文版
    api手册地址:http://www.matools.com/api/jquery

    Windows MFC中文版
    api手册地址:http://www.matools.com/api/msdn

    Mybatis
    api手册地址:http://www.matools.com/api/mybatis

    MySql中文版
    api手册地址:http://www.matools.com/api/mysql

    Nginx中文版
    api手册地址:http://www.matools.com/api/nginx

    PHP中文版
    api手册地址:http://www.matools.com/api/php

    Spring最新版
    api手册地址:http://www.matools.com/api/spring

    Spring中文版
    api手册地址:http://www.matools.com/api/spring-zh

    展开全文
  • JAVA的AIP, Oracle_api_中文, W3School离线手册, Android官方API文档完整版
  • 最新最全的Java和Android开发文档包。 资源包包含内容: JAVA 1.7 API官方文档中文版、 AngularJS 中文API参考手册、 css3.0参考手册、 jQuery 3.1 参考手册、 MySQL_5.1_zh参考手册Android 4.4 SDK 参考手册
  • Android API CHM文档 - 02

    2011-06-01 21:52:57
    android中文手册,android api, android 接口,android 文档
  • Android API CHM文档 - 01

    2011-06-01 21:45:55
    android中文手册,android api, android 接口,android 文档
  • 有关javaAPI或者手册

    2013-06-01 01:31:00
    包的内容资源有android手册、html手册、ext中文API、标签修饰手册、hibernate API、J2E API、script手册、spring中文手册、struts手册、w3csc
  • Android学习手册正式版

    2017-01-29 19:21:46
    Android开发者指南和Android中文API合集下载,虽然不全,但这毕竟是网友自发组织翻译的,感谢Android中文翻译组无私的奉献
  • 先看看官方给出的开发手册:http://services.google.cn/fh/files/misc/android_11_dev_booklet.pdf

    官方给出的完整版开发手册:

    http://services.google.cn/fh/files/misc/android_11_dev_booklet.pdf

     

    开发者需注意的修改:

    新体验

    设备控件

    Android 11 包含一个新的 ControlsProviderService API,可用于提供所连接的外部设备的控件。这些控件显示于 Android 电源菜单中的设备控制器下。如需了解详情,请参阅控制外部设备

    媒体控件

    Android 11 更新了媒体控件的显示方式。媒体控件显示于快捷设置旁。来自多个应用的会话排列在一个可滑动的轮播界面中,其中包括在手机本地播放的会话流、远程会话流(例如在外部设备上检测到的会话或投射会话)以及可继续播放的以前的会话(按上次播放的顺序排列)。

    用户无需启动相关应用即可在轮播界面中重新开始播放以前的会话。当播放开始后,用户可按常规方式与媒体控件互动。

    如需了解详情,请参阅媒体控件

    屏幕

    更好地支持瀑布屏

    Android 11 提供了一些 API 以支持瀑布屏,这是一种无边框的全面屏。这种显示屏被视为刘海屏的变体。现有的 DisplayCutout.getSafeInset…() 方法现在会返回能够避开瀑布区域以及刘海的安全边衬区。如需在瀑布区域中呈现您的应用内容,请执行以下操作:

    注意:如果您未将上述窗口布局属性设为 LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS,Android 会在黑边模式下显示窗口,从而避开缺口和瀑布区域。

    合页角度传感器和可折叠设备

    使用 Android 11,可以通过以下方法使运行在采用合页式屏幕配置的设备上的应用能够确定合页角度:提供具有 TYPE_HINGE_ANGLE 的新传感器,以及新的 SensorEvent,后者可以监控合页角度,并提供设备的两部分之间的角度测量值。您可以使用这些原始测量值在用户操作设备时执行精细的动画显示。

    请参阅可折叠设备

    对话

    改进了会话

    Android 11 对会话的处理方式进行了多项改进。会话是两人或更多人之间的实时双向通信。这些会话具有特殊的重要性,并且用户在如何与其进行交互方面有多个新的选项可以选择。

    如需详细了解对话以及您的应用如何支持对话,请参阅人与对话

    聊天气泡

    现已面向开发者推出气泡功能,该功能有助于在系统中显示会话。对话泡是 Android 10 中的一项实验性功能,通过开发者选项启用;在 Android 11 中,这项功能不再是必选功能。

    如果应用以 Android 11(API 级别 30)或更高版本为目标平台,除非其通知满足新的对话要求,否则不会以Android 10对话泡形式显示。具体而言,通知必须与快捷方式关联。

    在 Android 11 之前,如果您希望通知以气泡形式显示,需要明确指定将其设为始终在文档界面模式下启动。从 Android 11 开始,您不再需要明确进行这项设置;如果通知以对话泡形式显示,平台会自动将其设为始终在文档界面模式下启动。

    对话泡功能有多项改进,用户可以更灵活地在每个应用中启用和停用对话泡功能。对于实现了实验性支持的开发者,Android 11 中的 API 有一些变更:

    5G 图标显示

    如需了解如何在用户的设备上显示 5G 图标,请参阅在用户连接到 5G 网络时显示相关信息

    隐私权

    Android 11 引入了大量变更和限制,目的是加强用户隐私保护。如需了解详情,请参阅隐私权页面。

    安全

    生物识别身份验证机制更新

    为了帮助您控制应用数据的安全级别,Android 11 对生物识别身份验证机制进行了多项改进。这些变更也会在 Jetpack Biometric 库中显示。

    身份验证类型

    Android 11 引入了 BiometricManager.Authenticators 接口,可用于声明您的应用支持的身份验证类型

    确定用户所用的身份验证类型

    在用户进行身份验证后,您可以通过调用 getAuthenticationType() 检查用户是使用设备凭据还是生物识别凭据进行的身份验证。

    对“每次使用时进行身份验证”密钥的额外支持

    Android 11 提供了对“每次使用时进行身份验证”密钥的更多支持。

    已弃用的方法

    Android 11 弃用了以下方法:

    • setDeviceCredentialAllowed() 方法。
    • setUserAuthenticationValidityDurationSeconds() 方法。
    • 不带任何参数的 canAuthenticate() 过载版本。

    安全共享大型数据集

    在某些情况下,例如涉及机器学习或媒体播放时,您的应用可能需要与其他应用使用同一个大型数据集。在较早的 Android 版本中,您的应用与其他应用需要各自单独下载该数据集。

    为帮助减少网络中和磁盘上的数据冗余,Android 11 允许使用共享数据 blob 在设备上缓存这些大型数据集。如需详细了解如何共享数据集,请参阅有关共享大型数据集的深度指南

    因 OTA 更新而重启设备后在未提供用户凭据的情况下执行文件级加密

    设备完成 OTA 更新并重启后,放在受凭据保护的存储空间中的凭据加密 (CE) 密钥可立即用于执行文件级加密 (FBE) 操作。这意味着,完成 OTA 更新后,您的应用可以在用户输入其 PIN 码、解锁图案或密码之前恢复需要 CE 密钥的操作。

    注意:此变更仅影响因 OTA 更新而发生的设备重启。如果您的应用在设备重启后用户输入其 PIN 码、解锁图案或密码之前始终需要访问 CE 密钥,请继续支持直接启动

    性能和质量

    无线调试

    Android 11 支持通过 Android 调试桥 (adb) 从工作站以无线方式部署和调试应用。例如,您可以将可调试的应用部署到多台远程设备,而无需通过 USB 实际连接您的设备,从而避免常见的 USB 连接问题(例如驱动程序安装方面的问题)。

    如需使用无线调试,您需要使用配对码将您的设备与工作站配对。您的工作站和设备必须连接到同一无线网络。如需连接到您的设备,请按以下步骤操作:

    无线 adb 配对对话框

    1. 在您的工作站上,更新到最新版本的 SDK 平台工具
    2. 在设备上启用开发者选项
    3. 启用无线调试选项。
    4. 在询问要在此网络上允许无线调试吗?的对话框中,点击允许
    5. 选择使用配对码配对设备。记下设备上显示的配对码、IP 地址和端口号(参见图片)。
    6. 在工作站上,打开一个终端并导航到 android_sdk/platform-tools
    7. 运行 adb pair ipaddr:port。使用第 5 步中的 IP 地址和端口号。
    8. 当系统提示时,输入您在第 5 步中获得的配对码。系统会显示一条消息,表明您的设备已成功配对。

    1. Enter pairing code: 482924
      Successfully paired to 192.168.1.130:37099 [guid=adb-235XY]
      
    2. (仅适用于 Linux 或 Microsoft Windows)运行 adb connect ipaddr:port。使用无线调试下的 IP 地址和端口(参见下图)。

      无线 adb IP 地址和端口号

    ADB 增量 APK 安装

    在设备上安装大型(2GB 以上)APK 可能需要很长的时间,即使应用只是稍作更改也是如此。ADB(Android 调试桥)增量 APK 安装可以安装足够的 APK 以启动应用,同时在后台流式传输剩余数据,从而加速这一过程。如果设备支持该功能,并且您安装了最新的 SDK 平台工具adb install 将自动使用此功能。如果不支持,系统会自动使用默认安装方法。

    运行以下 adb 命令以使用该功能。如果设备不支持增量安装,该命令将会失败并输出详细的解释。

    adb install --incremental

    在运行 ADB 增量 APK 安装之前,您必须先为 APK 签名并创建一个 APK 签名方案 v4 文件。必须将 v4 签名文件放在 APK 旁边,才能使此功能正常运行。

    使用原生内存分配器进行错误检测

    GWP-ASan 是一种原生内存分配器功能,可帮助查找释放后使用和堆缓冲区溢出错误。您可以全局启用此功能,也可以为应用的特定子进程启用此功能。如需了解详情,请参阅 GWP-Asan 指南

    Neural Networks API 1.3

    Android 11 扩展并改进了 Neural Networks API (NNAPI)

    新运算方式

    NNAPI 1.3 引入了新的运算数类型 TENSOR_QUANT8_ASYMM_SIGNED,以支持 TensorFlow Lite 的新量化方案

    此外,NNAPI 1.3 还引入了以下新运算:

    • QUANTIZED_LSTM
    • IF
    • WHILE
    • ELU
    • HARD_SWISH
    • FILL
    • RANK

    新的机器学习控件

    NNAPI 1.3 引入了新控件以帮助机器学习流畅运行:

    NDK Thermal API

    当设备过热时,它们可能会限制 CPU 和/或 GPU,而这可能会以意想不到的方式影响应用。如果应用或游戏包含复杂图形,大量计算或持续网络活动,它们就更容易遇到问题。

    在 Android 11 中使用 NDK Thermal API 监控设备上的温度变化,然后采取相应措施以降低耗电量和设备温度。该 API 类似于Java Thermal API;您可以使用它接收任何热状态更改的通知或直接轮询当前状态。

    文本和输入

    改进了 IME 转换

    Android 11 引入了新的 API 以改进输入法 (IME) 的转换,例如屏幕键盘。这些 API 可让您更轻松地调整应用内容,与 IME 的出现和消失以及状态和导航栏等其他元素保持同步。

    如需在聚焦至任何 EditText 时显示 IME,请调用 view.getInsetsController().show(Type.ime())(您可以在与聚焦的 EditText 相同层次结构中的任何视图上调用此方法,无需专门在 EditText 上调用它)。如需隐藏 IME,请调用 view.getInsetsController().hide(Type.ime())。您可以通过调用 view.getRootWindowInsets().isVisible(Type.ime()) 检查 IME 当前是否可见。

    如需同步应用的视图与 IME 的显示和消失,请通过提供 WindowInsetsAnimation.CallbackView.setWindowInsetsAnimationCallback() 在视图上设置监听器(您可以在任何视图上设置该监听器,它不一定必须为 EditText)。IME 会调用监听器的 onPrepare() 方法,之后会在转换开始时调用 onStart()。然后,它会在每次转换的过程中调用 onProgress()。转换完成后,IME 会调用 onEnd()。在转换过程中,您随时可以调用 WindowInsetsAnimation.getFraction() 以了解转换的进度。

    有关如何使用这些 API 的示例,请参阅新的 WindowInsetsAnimation 代码示例。

    控制 IME 动画

    您还可以控制 IME 动画或其他系统栏(如导航栏)的动画。如需执行此操作,请先调用 setOnApplyWindowInsetsListener(),为窗口边衬区更改设置新的监听器:

    KotlinJava

    rootView.setOnApplyWindowInsetsListener { rootView, windowInsets ->
        val barsIme = windowInsets.getInsets(Type.systemBars() or Type.ime())
        rootView.setPadding(barsIme.left, barsIme.top, barsIme.right,
                              barsIme.bottom)
          // We return the new WindowInsets.CONSUMED to stop the insets being
          // dispatched any further into the view hierarchy. This replaces the
          // deprecated WindowInsets.consumeSystemWindowInsets() and related
          // functions.
        WindowInsets.CONSUMED
    }
    

    如需移动 IME 或其他系统栏,请调用控制器的 controlWindowInsetsAnimation() 方法:

    KotlinJava

    view.windowInsetsController.controlWindowInsetsAnimation(
           Type.ime(),
           1000,
           LinearInterpolator(),
           cancellationSignal,
           object : WindowInsetsAnimationControlListener() {
               fun onReady(controller: WindowInsetsAnimationController,
                             types: Int) {
                   // update IME inset
                 controller.setInsetsAndAlpha(Insets.of(0, 0, 0, inset),
                               1f /* alpha */, 0.1 /* fraction progress */)
               }
           }
    );
    

    ICU 库更新

    Android 11 更新了 android.icu 软件包,以使用 ICU 库版本 66,而 Android 10 中使用的是版本 63。新版库包含更新的 CLDR 语言区域数据以及众多对于 Android 中的国际化支持的增强功能。

    新版库包含以下主要变更:

    • 许多格式化 API 现在都支持可扩展 FormattedValue 的新返回对象类型。
    • LocaleMatcher API 在以下方面得到增强:提供了构建器类,支持 java.util.Locale 类型,并且结果类可提供有关匹配的额外数据。
    • 现在支持 Unicode 13。

    媒体

    分配 MediaCodec 缓冲区

    Android 11 包含一个新的 MediaCodec API,可让应用在分配输入和输出缓冲区时获得更多控制。这样可以让您的应用更高效地管理内存。

    新类:

    新方法:

    此外,MediaCodec.Callback() 中两种方法的行为也发生了变化:

    onInputBufferAvailable()

    如果配置为使用 Block Model API,应用应通过索引使用 MediaCodec.getQueueRequest,并将 LinearBlock/HardwareBuffer 附加到插槽,而不是通过索引调用 MediaCodec.getInputBuffer()MediaCodec.queueInputBuffer()

    onOutputBufferAvailable()

    应用可以通过索引使用 MediaCodec.getOutputFrame() 获取包含更多信息的 OutputFrame 对象和 LinearBlock/HardwareBuffer 缓冲区,而不是通过索引调用 MediaCodec.getOutputBuffer()

    MediaCodec 低延时解码

    Android 11 增强了 MediaCodec,针对游戏和其他实时应用支持低延时解码。您可以将 FEATURE_LowLatency 传递到 MediaCodecInfo.CodecCapabilities.isFeatureSupported(),检查编解码器是否支持低延时解码。

    如需启用或停用低延时解码,请执行以下任一操作:

    注意:支持低延时解码可能需要额外的资源,例如更高的功耗。仅在必要时使用低延时解码。

    新的 AAudio 函数 AAudioStream_release()

    函数 AAudioStream_close() 会同时释放和关闭音频流。这可能很危险。如果其他进程在音频流关闭后尝试对其进行访问,该进程将会崩溃。

    新函数 AAudioStream_release() 会释放音频流,但不会将其关闭。这样会释放其资源并使音频流处于已知状态。该对象将一直存在,直到您调用 AAudioStream_close()

    MediaParser API

    MediaParser 是用于媒体提取的新型低级别 API。它比 MediaExtractor 更灵活,并提供对媒体提取功能的额外控制。

    通过 USB 设备捕获音频

    当没有 RECORD_AUDIO 权限的应用使用 UsbManager 请求直接访问具备音频捕获功能的 USB 音频设备(如 USB 耳机)时,系统会显示一条新的警告消息,要求用户确认设备使用权限。系统会忽略任何“始终使用”选项,因此应用每次请求访问时,用户都必须确认警告消息并授予相应权限。

    为了避免这种行为,您的应用应请求 RECORD_AUDIO 权限。

    注意:此行为仅适用于使用 UsbManager API 直接连接到 USB 外围设备的应用。绝大多数媒体播放器、游戏和通信应用使用的是音频 API,因此不会受到此变更的影响。

    并发访问麦克风

    Android 11 向 AudioRecordMediaRecorderAAudioStream API 添加了一些新方法。不管选择的用例是什么,这些方法均可启用和停用并发捕获的功能。请参阅共享音频输入

    输出切换器

    Android 11 针对使用 Cast 和 MediaRouter API 的应用实现了新行为。

    除了可从应用内访问投射选项外,切换选项也显示于系统媒体播放器中。当用户改变视听环境时(例如在厨房中观看视频与在手机上观看之间切换,或者在家中收听音频与在车中收听之间切换),这有助于为用户提供无缝切换设备的流畅体验。请参阅输出切换器

    网络连接

    Wi-Fi Passpoint 增强功能

    通过 Passpoint,应用可以自动静默地执行身份验证并连接到安全的 Wi-Fi 热点。以 API 级别 30 及更高级别为目标平台的应用可以使用 Passpoint 的以下其他功能。

    失效日期强制执行和通知

    对个人资料强制执行失效日期可让框架避免使用过期凭据自动连接到接入点,该操作必定会失败。这样可以阻止无线连接,并节省电量和后端带宽。当用户的个人资料位于范围内但已过期时,该功能会向用户显示通知。

    FQDN 匹配

    允许使用 PerProviderSubscription (PPS) 管理对象 (MO) 中的 Extension/Android 节点,配置独立于接入网络查询协议 (ANQP) 完全限定域名 (FQDN) 的命名 AAA 域。

    自签名的私人 CA

    对于 Passpoint R1 个人资料,Android 接受采用私人自签名 CA 进行连接身份验证。

    允许使用具有相同 FQDN 的多个个人资料

    允许安装具有相同 FQDN 的多个 Passpoint 个人资料。FQDN 不用作个人资料的键。需要 FQDN 的现有 Passpoint API(如 remove)会将请求应用于具有相同 FQDN 的所有匹配的个人资料。

    允许安装没有根 CA 证书的个人资料

    允许使用没有根 CA 证书的个人资料。在这种情况下,系统会根据安装在信任库中的公共根 CA 证书验证 AAA 服务器证书。

    改进了家庭网络服务提供商和漫游服务提供商的匹配

    系统会匹配家庭网络或漫游网络,而不考虑所通告的身份验证方法。此外,还增加了对 OtherHomePartnersHomeOIList 列表的家庭网络匹配功能的支持。

    Wi-Fi Suggestion API 扩展

    Android 11 扩展了 Wi-Fi Suggestion API,以提高应用的网络管理能力,包括:

    • 连接管理应用可以通过允许断开连接请求管理自己的网络。
    • Passpoint 网络集成到 Suggestion API 中,可以推荐给用户。
    • 通过 Analytics API,您可以获取有关网络质量的信息。

    CallScreeningService 更新

    从 Android 11 开始,CallScreeningService 可以针对来电请求有关 STIR/SHAKEN 验证状态 (verstat) 的信息。此信息将包含在来电的通话详情中。

    如果 CallScreeningService 持有 READ_CONTACTS 权限,当用户通讯录中的号码有来电或向用户通讯录中的号码去电时,应用会收到通知。

    Open Mobile API 更新

    从 Android 11 开始,Open Mobile API (OMAPI) 有了额外的功能:

    • 解析运营商权限的规则。

    • 使用以下一项或多项自定义嵌入式安全元件 (eSE) 访问权限或配置 eSE:

      • 系统特许权限
      • 可配置的访问规则应用主数据 (ARA-M) 应用标识符 (AID)
      • 用于重置 OMAPI 读取器的系统 API
    • 为读取器提供清晰的指示符,以便应用过滤设备功能。

    高性能 VPN

    以 API 级别 30 及更高级别为目标平台的应用或在搭载 API 级别 29 及更高级别的设备上运行的应用可以将 IKEv2/IPsec 应用于 VPN(包括用户配置的 VPN 和基于应用的 VPN)。

    VPN 本身在操作系统上运行,从而简化了在应用中建立 IKEv2/IPset VPN 连接所需的代码。

    每个进程的网络访问控制

    如需了解如何针对各进程启用网络访问权限,请参阅管理网络使用情况

    允许安装的多种 Passpoint 配置具有相同的 FQDN

    从 Android 11 开始,您可以使用 PasspointConfiguration.getUniqueId() 获取 PasspointConfiguration 对象的专有标识符,这样可让使用应用的用户安装多个具有相同完全限定域名 (FQDN) 的配置文件。

    当运营商在其网络上部署多个移动设备国家/地区代码 (MCC) 和移动网络代码 (MNC) 组合,但只有一个 FQDN 时,此功能非常有用。在 Android 11 及更高版本中,当用户安装具有 MCC 或 MNC 的 SIM 卡时,可以安装多个具有相同 FQDN(它将与家庭网络服务提供商提供的网络匹配)的配置文件。

    注意:各配置由唯一键进行标识,该键取决于配置的内容。如需更新现有配置文件,您必须使用 WifiManager.removePasspointConfiguration() 将其移除。如果不移除现有配置,会导致添加一个包含两种配置的新配置文件。

    GNSS 天线支持

    Android 11 引入了 GnssAntennaInfo 类,让您的应用能够更多地利用全球导航卫星系统 (GNSS) 提供的厘米精度定位。

    如需了解详情,请参阅有关天线校准信息的指南。

    图形

    NDK 图像解码器

    NDK ImageDecoder API 提供了一种标准 API,供 Android C/C++ 应用直接解码图像。应用开发者不再需要使用框架 API(通过 JNI)或捆绑第三方图像解码库。有关详情,请参阅图像解码器开发者指南

    Frame rate API

    Android 11 提供了一个 API,可让应用告知系统其预期帧速率,从而减少支持多个刷新率的设备上的抖动。有关如何使用此 API 的信息,请参阅帧速率指南

    请求并检查低延时支持

    特定的显示屏可以执行图形后期处理,例如某些外部显示屏和电视。此类后期处理改善了图形质量,但可能会增加延时。支持 HDMI 2.1 的新款显示屏具有自动低延时模式(ALLM,也称为游戏模式),该模式可以通过关闭后期处理以最大限度地缩短延时。如需详细了解 ALLM,请参阅 HDMI 2.1 规范

    窗口可以请求使用自动低延时模式(如果可用)。ALLM 对于游戏和视频会议等应用特别有用,因为对于这些应用而言,低延时的重要性要高于拥有最佳的图形质量。

    如需开启或关闭最低限度的后期处理,请调用 Window.setPreferMinimalPostProcessing(),或将窗口的 preferMinimalPostProcessing 属性设置为 true。并非所有的显示屏都支持最低限度的后期处理;如需了解某个显示屏是否支持该功能,可调用新方法 Display.isMinimalPostProcessingSupported()

    注意:如果用户停用最低限度的后期处理,或者显示屏不支持低延时模式,那么调用 Window.setPreferMinimalPostProcessing() 不会有任何作用。

    高性能图形调试层注入

    应用现在可以将外部图形层(GLESVulkan)加载到原生应用代码中,可以在不产生性能开销的前提下,提供与可调试应用相同的功能。在使用 GAPID 等工具对应用进行性能剖析时,此功能尤为重要。如需对应用进行性能剖析,只需要在应用清单文件中添加以下元数据元素,而无需让应用变成可调试应用:

    <application ... >
        <meta-data android:name="com.android.graphics.injectLayers.enable"
                      android:value="true" />
    </application>
    

    图片和相机

    在主动拍摄期间关闭通知提示音和振动

    从 Android 11 开始,在主动使用相机时,您的应用可以使用 setCameraAudioRestriction() 以仅关闭振动、同时关闭声音和振动或都不关闭。

    Android 模拟器中的相机支持扩展

    如需了解自 Android 11 起模拟器中的相机支持扩展,请参阅相机支持

    支持并发使用多个摄像头

    Android 11 添加了 API 以查询对同时使用多个摄像头(包括前置摄像头和后置摄像头)的支持。

    如需在运行应用的设备上检查支持情况,请使用以下方法:

    更好地支持包含多个帧的 HEIF 图片

    从 Android 11 开始,如果您调用 ImageDecoder.decodeDrawable() 并传递包含帧序列的 HEIF 图片(如动画或连拍照片),则该方法会返回包含整个图片序列的 AnimatedImageDrawable。在较低版本的 Android 系统中,该方法会返回仅包含单个帧的 BitmapDrawable

    如果 HEIF 图片包含的多个帧不在一个序列中,您可以通过调用 MediaMetadataRetriever.getImageAtIndex() 检索各个帧。

    无障碍功能

    面向无障碍服务开发者的更新

    如果您创建自定义无障碍服务,可以在 Android 11 中使用以下功能:

    • 在无障碍服务的面向用户的解释中,除了纯文本之外,现在还允许使用 HTML 和图片。这种灵活性可让您更轻松地向最终用户解释您的服务有何功能以及对他们有何帮助。
    • 如需使用比 contentDescription 在语义上更有意义的界面元素的状态说明,请调用 getStateDescription() 方法。
    • 如需请求触摸事件绕过系统的触摸浏览器,请调用 setTouchExplorationPassthroughRegion()。同样,如需请求手势绕过系统的手势检测器,请调用 setGestureDetectionPassthroughRegion()
    • 您可以请求 IME 操作(如“输入”和“下一个”),以及不启用 FLAG_SECURE 标记的窗口的屏幕截图。

     

    展开全文
  • [14本经典Android开发教程] 9 Android2 3用户...[14本经典Android开发教程] 2 Android开发手册 API函数详解 http: download csdn net detail cleopard 8374487 [14本经典Android开发教程] 3 Android SDK 中文开发文档 ...
  • AndroidAPI文档 chm

    2011-03-19 14:36:32
    anroid api 中文文档介绍了所有UI组件的使用,是不错的开发参考手册
  • vc/c++ api help chm 英文 Android API.chm 英文 ...JavaScriptmanual.chm 英文 ...JDK_API_1_6_zh_CN.CHM 中文 MFC类库详解.chm 中文 ...Windows CE API 手册 v2.0 .chm 中文 WindowsAPI.chm 中文 样式表中文手册.chm 中文
  • 包括多种语言的API文档和中文手册,有Apache2,PHP5中文手册,Python3手册,WordPress,JDK1.6版本的API,Opencv中文参考手册AndroidAPI文档等
  • Android中文API合集.chm android各组件详解.rar Android小知识整理.rar Android应用开发入门教程.pdf Android应用开发揭秘.pdf Android开发指南中文版.rar Android开发教程笔记完全版.pdf Android真机开发...
  • cocos-js中文帮助手册,chm文档 Cocos2d-JS 是跨全平台的游戏引擎,采用原生JavaScript语言,可发布到包括Web平台,iOS,Android,Windows Phone8,Mac,Windows等平台,引擎基于MIT开源协议,完全开源,免费,易学...
  • 本篇介绍Camera2相关类的API,每个类使用的字段和方法都以表格形式展示。包括android.hardware.camera2的所有类,布局类TextureView,结果处理类ImageReader。这篇是对API的基础总结,是不错的中文参考手册

    Camera2的API出来有些年头了,只是赶项目多次使用,没时间好好总结,年终了,正好结合google的官方Camera2demo 和开发中使用的情况,做个详细梳理,研究总结之后,才发现Camera2并非想象的难用,充分理解相关几个类之后,实现自己需求还是很简单的。

    该篇详细介绍Camera2相关的类,根据API各个类的方法,字段含义都详细用表格记录。
    下一篇将介绍Camera2的使用流程。

    <一>SurfaceView 相关的类

    在Camera的时候,自定义相机预览首选 SurfaceView当展示布局,更深层的结合openCV openGL库的GLSurfaceView,做渲染滤镜游戏动画等。首先了解相关类SurfaceView和SurfaceHolder的API。

    <1>SurfaceView API

    当SurfaceView窗口可见时,就可以创建这个表面,当urfaceView展示或者隐藏时,需要对它进行创建和销毁,你就需要实现SurfaceViewCreated(SurfaceHolder)方法或者SurfaceViewDestroyed(SurfaceHolder)方法。
    这个类的用途之一就是提供了一个可以在屏幕上显示辅助线程的Surface,要使用,需要了解线程语义:回调方法Callback将从运行的SurfceView窗口调用,所以需要正确的同步绘制线程。在SurfaceHolder.Callback.surfaceCreated() 方法和 SurfaceHolder.Callback.surfaceDestroyed()方法之间是有效的期间,你必须确保绘图线程只和使用的SurfaceView有联系。
    注意:从android7.0开始,SurfaceView的窗口位置与其他视图呈现同步更新。这意味着在屏幕上平移和缩放一个SurfaceView将不会导致呈现工件

    public方法 解释
    void draw(Canvas canvas) 手动的将各种view渲染到给定的画布上
    boolean gatherTransparentRegion(Region region) 当视图层次结构包含一个或多个SurfaceView时,RootView使用它来执行优化。
    SurfaceHolder getHolder() 返回SurfaceHolder,用于访问和控制SurfaceView
    void setSecure(boolean isSecure) 控制表面视图的内容是否应该被视为安全的,防止它出现在屏幕截图中或在非安全显示中被查看。注意,必须在窗口管理器的窗口视图包含窗口之前设置此设置。
    void setVisibility(int visibility) surfaceView可见设置
    void setZOrderMediaOverlay(boolean isMediaOverlay) surfaceView1是否被放置在另一个surfaceView2视图上
    setZOrderOnTop(boolean onTop) 在自己的window内,设置最顶层显示

    protected的方法

    protected方法 解释
    void dispatchDraw(Canvas canvas) 由draw调用绘制子view
    void onAttachedToWindow() 视图view依附到window上被触发
    void onDetachedFromWindow() 视图view从window上分离被触发
    onMeasure(int widthMeasureSpec, int heightMeasureSpec) 绘制view的宽高
    onWindowVisibilityChanged(int visibility) 在视图持续可见和不可见变化时触发

    <2> SurfaceHolder API

    返回值(abstract) 方法 解释
    void addCallback(SurfaceHolder.Callback callback) 为整个holder添加回调接口
    Surface getSurface() 直接访问surface对象
    Rect getSurfaceFrame() 获取surface的尺寸大小
    boolean isCreating() 使用这个方法来找出是否在从回调方法创建的过程中。
    Canvas lockCanvas() 开始编辑surface的像素
    void unlockCanvasAndPost(Canvas canvas) 结束编辑surface像素
    Canvas lockCanvas(Rect dirty) 开始编辑surface的像素,但是允许特殊矩形
    default Canvas lockHardwareCanvas() 开始编辑surface的像素,但是返回的画布是硬件加速的
    void removeCallback(SurfaceHolder.Callback callback) 从holder移除回调接口
    void setFixedSize(int width, int height) 修改surface 尺寸
    void setFormat(int format) 设置surface的像素格式 格式:PixelFormat
    abstract void setKeepScreenOn(boolean screenOn) 启用或禁用选项,以便在显示该界面时打开屏幕。
    void setSizeFromLayout() 允许Surface根据其容器的布局调整大小

    <3> SurfaceHolder.Callback接口

    重写方法 解释
    surfaceChanged(SurfaceHolder holder, int format, int width, int height) surface改变回调
    surfaceCreated(SurfaceHolder holder) surface第一次创建就回调
    surfaceDestroyed(SurfaceHolder holder) surface销毁回调

    <二>Camera2 相关的类

    android5.0之后支持的API,主要功能都在android.hardware.camera2中。相关的类有:
    1:CameraManager(以及两个回调 AvailabilityCallbackTorchCallback)
    2:CameraDevice(以及回调StateCallback)
    3:CameraCaptureSession(以及两个回调:CaptureCallbackStateCallback)
    4:CaptureRequest(以及CaptureRequest.Builder类)+CaptureResult+TotalCaptureResult+CameraCharacteristics,这四个类都继承了基类CameraMetadata
    5:接收数据类android.media.ImageReader
    6:xml布局类:TextureView (google demo推荐)或SurfaceView

    <1>CameraManager

    官方文档解释:
    一种系统服务管理器,用于检测、描述和连接到照相机设备。
    获取该实例的方法:CameraManager manager =(CameraManager)Context.getSystemService(Context.CAMERA_SERVICE);或者
    CameraManager manager =(CameraManager)Context. getSystemService(CameraManager.class);

    返回值 方法名 解释
    CameraCharacteristics getCameraCharacteristics(String cameraId) 查询摄像机设备的功能。
    String[] getCameraIdList() 通过标识符返回当前连接的相机设备的列表,包括可能被其他相机API客户端使用的相机。
    openCamera(String cameraId, CameraDevice.StateCallback callback, Handler handler) 打开一个带有给定ID的相机的连接。
    registerAvailabilityCallback(CameraManager.AvailabilityCallback callback, Handler handler) 注册一个回调,以获得关于相机设备可用性的通知。
    registerTorchCallback(CameraManager.TorchCallback callback, Handler handler) 注册一个回调,以获得关于torch mode状态的通知。
    setTorchMode(String cameraId, boolean enabled) 在不打开相机设备的情况下,设置闪光灯的闪光灯模式。
    unregisterAvailabilityCallback(CameraManager.AvailabilityCallback callback) 删除之前添加的回调,回调将不再接收连接和断开回调。
    unregisterTorchCallback(CameraManager.TorchCallback callback) 删除之前添加的回调,回调将不再接收torch mode状态回调。

    <1-1>CameraManager.AvailabilityCallback

    CameraManager的内部类AvailabilityCallback回调,官方文档解释:

    一个用于相机设备的回调或无法打开的回调。

    当相机不再使用时,或者当一个新的可拆卸相机连接起来时,Cameras就会变的可用了
    当一些应用程序或服务开始使用相机时,或者当一个可移动的相机被断开时,它们就变得不可用了

    扩展这个回调并将子类的实例传递给CameraManager的registerAvailabilityCallback(CameraManager.AvailabilityCallback, Handler) 方法通知这些可用性更改。

    回调方法名 解释
    onCameraAvailable(String cameraId) 一个新的相机已经可以使用了。
    onCameraUnavailable(String cameraId) 以前可用的相机已经不可用了。

    <1-2>CameraManager.TorchCallback

    CameraManager的内部类TorchCallback回调,官方文档解释:
    一个相机闪光灯torch模式变得可用不可用的回调。

    当相机设备所属的相机设备变得不可用或其他相机资源时,由于其他更高的优先级相机活动, torch mode就变得不可用。当它被关闭时,或者当它所属的相机设备不再使用,它所需要的其他相机资源不再忙碌时,torch mode就会不可用。当应用程序调用CameraManager的setTorchMode(String, boolean)关闭相机的torch mode,或者当应用程序打开其他相机的torch mode,,如果同时不支持多个火炬模式,相机的torch mode就会被关闭。当通过setTorchMode(String, boolean)打开torch mode时,torch mode就会可用

    只有当处于禁用或启用状态时,才可以通过setTorchMode(String、boolean)设置torch mode。

    扩展这个回调并将一个子类的实例传递给CameraManager的registerTorchCallback(CameraManager.TorchCallback, Handler)将被通知此类状态更改。

    回调方法名 解释
    onTorchModeChanged(String cameraId, boolean enabled) setTorchMode(String, boolean)触发
    onTorchModeUnavailable(String cameraId) setTorchMode(String, boolean)触发

    <2>CameraDevice

    官方文档详解:
    CameraDevice 类是一个连接安卓设备的单一摄像头的代表,可以在高帧率下对图像捕捉和后期处理进行精确控制。

    你的应用程序需要在manifest中生命相机权限才可以访问相机设备。

    一个给定的相机设备可以提供两个级别的支持:有限的或完全的。如果一个设备只支持有限的级别,那么摄像头会公开一个功能集,它大致相当于旧的摄像头API,不过它的界面更简洁、更高效。如果是全支持,提供了比旧的摄像头API更好的功能。针对有限级别设备的应用程序将在全级设备上保持不变,而如果应用程序需要一个全级别支持的操作,在manifest中声明“android.hardware.camera.level.full”的特征

    该类的常量:

    常量名 解释
    TEMPLATE_MANUAL 一个用于直接应用控制捕获参数的基本模板。
    TEMPLATE_PREVIEW 创建一个适合于相机预览窗口的请求。
    TEMPLATE_RECORD 创建一个适合于视频录制的请求。
    TEMPLATE_STILL_CAPTURE 创建一个适合于静态图像捕获的请求。
    TEMPLATE_ZERO_SHUTTER_LAG 创建一个适用于零快门延迟的请求。
    TEMPLATE_VIDEO_SNAPSHOT 在录制视频时创建一个适合静态图像捕捉的请求。

    该常量一般在CameraDevice的createCaptureRequest(int)方法参数中设置

    该类的方法:

    返回值 方法名 解释
    void close() 尽可能快地关闭与这个相机设备的连接。
    CaptureRequest.Builder createCaptureRequest(int templateType) 创建一个CaptureRequest.Builder用于新捕获请求的,初始化为目标用例的模板。
    void createCaptureSession(List Surface outputs, CameraCaptureSession.StateCallback callback, Handler handler) 通过向相机设备提供Surfaces的目标输出集,创建一个新的相机捕捉会话。
    void createCaptureSessionByOutputConfigurations(List OutputConfiguration outputConfigurations, CameraCaptureSession.StateCallback callback, Handler handler) 通过为相机设备提供表面的目标输出集和相应的表面配置来创建一个新的相机捕捉会话。
    void createConstrainedHighSpeedCaptureSession(List Surface outputs, CameraCaptureSession.StateCallback callback, Handler handler) 创建一个新的受限的高速捕捉会话。
    String getId() 获取相机设备的ID,string类型

    CameraDevice还一个方法,就不写在表格中了:
    createReprocessableCaptureSessionByConfigurations(InputConfiguration , outputs, CameraCaptureSession.StateCallback, Handler) ,通过为相机设备提供所需的再处理输入配置和输出输出配置,创建一个新的可重新处理的相机捕捉会话。

    <2-1>CameraDevice.StateCallback

    CameraDevice的内部类StateCallback,官方文档介绍:
    一个回到对象,用于接收关于相机的更新状态。

    一个回调实例必须先实现CameraManager的openCamera(String cameraId, CameraDevice.StateCallback callback, Handler handler) 方法来打开相机设备。

    这些状态更新包括关于设备完成启动的通知(允许CameraDevice的createCaptureSession(List, CameraCaptureSession.StateCallback, Handler)被调用),关于设备断开或闭包,以及意外的设备错误。

    关于特定的CaptureRequests进程事件是由 CameraCaptureSession.CaptureCallback 提供的,该回调的所有方法见上边表格。
    常量及方法:

    返回值 常量 解释
    int ERROR_CAMERA_DEVICE 由CameraDevice.StateCallback的onError(CameraDevice, int)报告的错误代码,表明相机设备遇到了一个致命错误
    int ERROR_CAMERA_DISABLED 由CameraDevice.StateCallback的onError(CameraDevice, int)报告的错误代码,这表明由于设备的政策,相机设备无法打开。
    int ERROR_CAMERA_IN_USE 由onError(CameraDevice, int)报告的错误代码,表明摄像机设备已经在使用中了
    int ERROR_CAMERA_SERVICE 由onError(CameraDevice, int)报告的错误代码,表明摄像机服务遇到了一个致命错误。
    int ERROR_MAX_CAMERAS_IN_USE 由onError(CameraDevice, int)报告的错误代码,表明相机设备无法打开,因为有太多其他的开放相机设备。
    回调方法 解释
    onClosed(CameraDevice camera) 当一个相机设备CameraDevice的close()方法时,这个方法就被调用
    onDisconnected(CameraDevice camera) 当相机设备不再可用时,这个方法就被调用
    onError(CameraDevice camera, int error) 当相机设备遇到严重错误时,这种方法就被调用了,错误见上表的常量
    onOpened(CameraDevice camera) 当相机完成打开操作后,这个方法就被调用

    <3>CameraCaptureSession

    文档解释:
    CameraDevice类的一个配置捕捉会话,用于捕捉相机的照片,或者用于之前同一个会话中处理相机捕捉的图片。

    提供一组目标输出表面给 CameraDevice的createCaptureSession()方法,或者提供一 个InputConfiguration类和为了一个可加工捕捉会话提供一组目标输出表面给CameraDevice的createReprocessableCaptureSession()方法,就会创建CameraCaptureSession对象,一旦创建CameraCaptureSession,这个会话就处于活动状态,除非相机又新建一个会话或者设备关闭。

    所有的捕捉会话都可用于从相机捕捉照片,但是只有可加工捕捉会话在之前同一个会话中可以处理从相机捕捉的照片。
    创建一个会话是个昂贵的操作,可以花费零点几秒时间,因为它需要配置摄像机设备的内部管道( pipelines),并分配内存缓冲区,以便将图像发送到所需的目标。因此设置异步操作, CameraDevice的createCaptureSession和createReprocessableCaptureSession方法会将创建出的CameraCaptureSession对象发送给CameraCaptureSession.StateCallback的onConfigured 回调方法,如果配置不能完成,就会回调 onConfigureFailed方法,会话就不能被激活。

    如果一个新的会话被相机创建,name之前的会话就会被关闭,他的关联回调CameraCaptureSession.StateCallback的onClosed方法就会被调用,如果会话被关闭,所有会话方法都将抛出IllegalStateException异常。

    一个关闭的会话会清除所有重复的操作(就像调用CameraCaptureSession的stopRepeating()方法),但是,在新建的会话接管并配置相机前,仍然像正常一样完成所有的进程捕捉请求。

    返回值 方法 解释
    abortCaptures() 丢弃当前正在等待和正在进行中的所有捕获,并尽可能快地完成。
    int capture(CaptureRequest request, CameraCaptureSession.CaptureCallback listener, Handler handler) 提交一个图像请求,以便被摄像机设备捕捉到。
    int captureBurst(List requests, CameraCaptureSession.CaptureCallback listener, Handler handler) 提交一列作为突发事件被捕获的请求列表。
    close() 异步关闭这个捕获会话。
    finalizeOutputConfigurations(List outputConfigs) 最后确定输出配置,这些配置现在包含了它们的延迟和/或额外的表面。
    CameraDevice getDevice() 获取这个会话创建的摄像机设备。
    Surface getInputSurface() 获取与可重新处理的捕获会话相关的输入表面。
    boolean isReprocessable() 如果应用程序可以使用这个摄像机捕捉会话提交可处理的捕获请求,则返回true。
    prepare(Surface surface) 预先为输出Surface分配所有缓冲区。
    int setRepeatingBurst(List requests, CameraCaptureSession.CaptureCallback listener, Handler handler) 这个捕获会话请求不断地重复捕获一系列图像。
    setRepeatingRequest(CaptureRequest request, CameraCaptureSession.CaptureCallback listener, Handler handler) 请求不断地重复捕捉这个捕获会话的图像。
    stopRepeating() 取消上边两个方法中任意一个的重复捕捉请求

    <3-1>CameraCaptureSession.CaptureCallback

    CameraCaptureSession的内部类CaptureCallback,官方文档解释:
    一个回调对象,用于跟踪向相机提交CaptureRequest对象的进程,见下边的CameraDevice.StateCallback的文档解释。

    这个回调是在一个请求触发一个捕获开始时调用的,当捕获完成时调用。如果出现错误捕获图像,则会触发错误方法,而不是完成方法。
    重写的七个方法:

    方法 解释
    onCaptureBufferLost(CameraCaptureSession session, CaptureRequest request, Surface target, long frameNumber) 如果捕获的单个缓冲区不能发送到它的目标表面,就会调用该方法。
    onCaptureCompleted(CameraCaptureSession session, CaptureRequest request, TotalCaptureResult result) 当一个图像捕捉已经完全完成并且所有的结果元数据都可用时,这个方法就会被调用。
    onCaptureFailed(CameraCaptureSession session, CaptureRequest request, CaptureFailure failure) 当相机不能向 CaptureResult 对象提供请求,就会调用
    onCaptureProgressed(CameraCaptureSession session, CaptureRequest request, CaptureResult partialResult) 当图像捕捉取得部分进展时,就会调用该方法;有些(但不是全部)从图像捕获中得到的结果是可用的。
    onCaptureSequenceAborted(CameraCaptureSession session, int sequenceId) 这个方法独立于CaptureCallback中的其他方法,当捕获序列在任何CaptureResult或capture失败之前通过这个侦听器返回时。
    onCaptureSequenceCompleted(CameraCaptureSession session, int sequenceId, long frameNumber) 这个方法独立于CaptureCallback中的其他方法,当捕获序列完成后,通过这个侦听器返回所有的CaptureResult或capture失败。
    onCaptureStarted(CameraCaptureSession session, CaptureRequest request, long timestamp, long frameNumber) 当摄像机设备开始捕捉请求的输出图像,在图像曝光开始时,或者当摄像机设备开始处理一个重新处理请求的输入图像时,这个方法就被调用了。

    <3-2>CameraCaptureSession.StateCallback

    CameraCaptureSession的内部类StateCallback,一个回调对象,用于接收关于相机捕捉会话状态的更新。
    重写的七个方法:

    方法 解释
    onActive(CameraCaptureSession session) 当会话开始主动处理捕获请求时,将调用此方法。
    onCaptureQueueEmpty(CameraCaptureSession session) 当摄像机设备的输入捕捉队列变为空时,该方法将被调用,并准备接受下一个请求。
    onClosed(CameraCaptureSession session) 会话关闭触发
    onConfigureFailed(CameraCaptureSession session) 如果会话不能按照请求配置,则调用此方法。
    onConfigured(CameraCaptureSession session) 当摄像机设备完成配置时,这个方法就会被调用,会话可以开始处理捕获请求。
    onReady(CameraCaptureSession session) 每当会话不再需要处理请求时,就会调用此方法。
    onSurfacePrepared(CameraCaptureSession session, Surface surface) 当输出表的缓冲区预分配完成时,就会调用该方法。

    <4>CaptureRequest,CameraCharacteristics,TotalCaptureResult和CaptureResult四个类的区别

    这四个类放在一起,是因为他们有共同的字段列表,都继承于CameraMetadata,具体的关系如下:
    1: CaptureRequest extendsCameraMetadata implements Parcelable
    2:CameraCharacteristics extends CameraMetadata
    3:TotalCaptureResult extends CaptureResult CameraMetadata
    4:CameraMetadata比较单一,放在下边一节的表格中显示。

    四个类文档解释

    <1>CaptureRequest 官方文档解释:

    一个不可变的设置和输出,用来从相机设备捕捉单个图像。

    包含捕获硬件的配置(传感器sensor,、透镜 lens、闪光灯flash),处理管道pipeline,控制算法和输出缓冲区。还包含目标表面的列表,以便将图像数据发送给该捕获。

    使用CaptureRequest.Builder实例创建CaptureRequests对象,通过调用CameraDevice的createCaptureRequest(int templateType) 获取CaptureRequest.Builder对象。
    CaptureRequest对象调用CameraCaptureSession的capture(CaptureRequest, CameraCaptureSession.CaptureCallback, Handler)或者setRepeatingRequest(CaptureRequest, CameraCaptureSession.CaptureCallback, Handler) 方法从相机捕捉照片。

    每个请求都可以指定目标表面的不同子集,以便将捕获的数据发送到。当请求被提交到会话时,请求中使用的所有表面都必须是对方法 createCaptureSession(List, CameraCaptureSession.StateCallback, Handler)的最后一次调用所给出的地表列表的一部分( All the surfaces used in a request must be part of the surface list given to the last call to createCaptureSession(List, CameraCaptureSession.StateCallback, Handler), when the request is submitted to the session)

    例如,一个用于重复预览的请求可能只包含预览SurfaceView或SurfaceTexture的表面,而高分辨率的静态捕获还包括一个用于高分辨率JPEG图像的ImageReader的表面。

    可处理捕获请求允许从摄像机设备获取以前捕获的图像,并将其发送回设备进行进一步处理。 会话用CameraDevice的createReprocessCaptureRequest(TotalCaptureResult)创建,可修理拍照会话用CameraDevice的createReprocessableCaptureSession(InputConfiguration, List, CameraCaptureSession.StateCallback, Handler)创建.

    <2>CameraCharacteristics官方文档解释:

    描述摄像头设备的属性。

    这些属性是给定的摄像头的属性,可以通过CameraManager的getCameraCharacteristics(String cameraId) 方法获取单个摄像头的CameraCharacteristics对象(个人观点:通过该对象可以判断摄像头都支持什么功能,比如闪光灯,方向等等)。

    CameraCharacteristics对象是不可变的。
    <3>TotalCaptureResult官方文档解释:
    从图像传感器捕捉到的单个图像捕获的全部结果。

    包含捕获硬件的配置(传感器sensor,、透镜 lens、闪光灯flash),处理管道pipeline,控制算法和输出缓冲区。

    处理完 CaptureRequest之后,TotalCaptureResult由CameraDevice类产生。所有捕获请求的属性列表都可以在捕获结果中查询到 ,以确定用于捕获的最终的值。结果还包括在捕捉期间相机设备状态的附加元数据。

    getAvailableCaptureResultKeys()返回的所有属性是可用的(这是get(CaptureResult.Key)方法将返回非空值,当且仅当启用的关键要求)。除非启用了一个开关(如STATISTICS_FACE_DETECT_MODE),否则在默认情况下,一些关键字将被禁用。请参考每个关键文档的具体情况。

    TotalCaptureResult对象是不可变的。

    <4>CaptureResult官方文档解释:
    从图像传感器捕获单个图像的结果子集。

    包含捕获硬件的配置(传感器sensor,、透镜 lens、闪光灯flash),处理管道pipeline,控制算法和输出缓冲区。

    处理完 CaptureRequest之后,CaptureResults由CameraDevice类产生。所有捕获请求的属性列表都可以在捕获结果中查询到,以确定用于捕获的最终的值。结果还包括在捕捉期间相机设备状态的附加元数据。

    不是所有属性调用CameraCharacteristics的getAvailableCaptureResultKeys()返回必然是可用的。一些结果是局部的(CaptureResult),并且不会有每一个键集。只有TotalCaptureResult被保证拥有由请求启用的所有可用的键。

    CaptureResult对象是不可变的。

    四个类各自独有的方法和字段

    <1>CaptureRequest

    返回值 方法 解释
    int describeContents() 描述这个可分配实例的集合表示中包含的特殊对象的种类。
    boolean equals(Object other) 确定这个CaptureRequest是否等于另一个CaptureRequest。
    T get(Key key) 获取捕获请求字段值。
    Object getTag()
    List> getKeys() 返回该map中包含的键列表。
    int hashCode()
    boolean isReprocess() 确定这是不是一个可加工的捕获请求。
    writeToParcel(Parcel dest, int flags) 把这个物体拉到一个包裹里。

    CaptureRequest和CaptureResult的父类字段,以及所有各自的字段都是相同的

    返回值(public static final ) 字段名 解释
    Key Boolean BLACK_LEVEL_LOCK 黑等级的补偿是否被锁定在当前的值上,或者是自由的变化。
    Key Integer COLOR_CORRECTION_ABERRATION_MODE 色差
    Key RggbChannelVector COLOR_CORRECTION_GAINS 获得白平衡Bayer的raw color频道
    Key Integer COLOR_CORRECTION_MODE 模式控制选择如何将图像数据从传感器的本机颜色转换为线性sRGB颜色。
    Key ColorSpaceTransform COLOR_CORRECTION_TRANSFORM 一种颜色变换矩阵,用于从传感器RGB颜色空间转换为输出线性sRGB色彩空间
    Key Integer CONTROL_AE_ANTIBANDING_MODE 相机设备的自动曝光算法的反带补偿的理想设置。
    Key Integer CONTROL_AE_EXPOSURE_COMPENSATION 调整自动曝光(AE)目标图像亮度。
    Key Integer CONTROL_AE_LOCK 是否自动曝光(AE)目前被锁定在最新的计算值上。
    Key Integer CONTROL_AE_MODE 相机设备的自动曝光程序所需的模式。
    Key Integer CONTROL_AE_PRECAPTURE_TRIGGER 当它处理这个请求时,摄像机设备是否会触发一个预捕获的测量序列。
    Key MeteringRectangle[] CONTROL_AE_REGIONS 用于自动曝光调整的计量区域表。
    Key Boolean CONTROL_AWB_LOCK 自动白平衡(AWB)是否被锁定在最新的计算值上。
    Key Integer CONTROL_AWB_MODE 自动白平衡(AWB)是否正在设置颜色转换字段,以及它的照明目标是什么。
    Key MeteringRectangle[] CONTROL_AWB_REGIONS 用于自动平衡光源估计的计量区域的列表。
    Key Integer CONTROL_CAPTURE_INTENT 信息到相机设备3A(自动曝光,自动对焦,自动平衡)例程,以帮助相机设备决定最优的3A策略。
    Key Integer CONTROL_EFFECT_MODE 一种特殊的颜色效果。
    Key Boolean CONTROL_ENABLE_ZSL 允许相机设备为android.control.captureIntent == STILL_CAPTURE 的请求启用零树/延迟模式
    Key Integer CONTROL_MODE 3A的整体模式(自动曝光,自动平衡,自动对焦)控制例程。
    Key Integer CONTROL_POST_RAW_SENSITIVITY_BOOST 在获取原始传感器数据后,应用于输出图像的额外灵敏度增加。
    Key Integer CONTROL_SCENE_MODE 控制哪个场景模式当前是活跃的。
    Key Integer CONTROL_VIDEO_STABILIZATION_MODE 视频稳定是否活跃。
    Creator CaptureRequest CREATOR
    Key Integer EDGE_MODE 边缘增强的操作模式。
    Key Integer FLASH_MODE 闪存模式
    Key Integer HOT_PIXEL_MODE 热像素校正的操作模式。
    Key Location JPEG_GPS_LOCATION 在生成图像GPS元数据时使用的位置对象。
    Key Integer JPEG_ORIENTATION 一个JPEG图像的朝向。
    Key Byte JPEG_QUALITY 最终JPEG图像的压缩质量
    Key Size JPEG_THUMBNAIL_SIZE 嵌入的JPEG缩略图的解析。
    Key Float LENS_APERTURE 所需的镜头光圈大小,作为透镜焦距与有效孔径的比值。
    Key Float LENS_FILTER_DENSITY 镜头中性密度滤光片(s)所需的设置。
    Key Float LENS_FOCAL_LENGTH 想要的镜头焦距;用于光学变焦。
    Key Float LENS_FOCUS_DISTANCE 从镜头的最前表面测量到最尖锐焦点的距离。
    Key Integer LENS_OPTICAL_STABILIZATION_MODE 设置相机设备在拍摄图像时是否使用光学图像稳定(OIS)。
    Key Integer NOISE_REDUCTION_MODE 降噪算法的操作模式。
    Key Float REPROCESS_EFFECTIVE_EXPOSURE_FACTOR 在进行再加工前,应用处理的应用程序处理的暴露时间增加了。
    Key Rect SCALER_CROP_REGION 传感器所需要的区域来读取这个捕获(拍某个形状的设置)
    Key Long SENSOR_EXPOSURE_TIME 持续每一个像素都暴露在光中。
    Key Long SENSOR_FRAME_DURATION 从帧曝光开始到下一个帧曝光的持续时间
    Key Integer SENSOR_SENSITIVITY 处理前的传感器数据的增益。
    Key int[] SENSOR_TEST_PATTERN_DATA 当android.sensor.testPatternMode是 SOLID_COLOR,一个pixel[R, G_even, G_odd, B]提供测试模式的像素
    Key Integer SENSOR_TEST_PATTERN_MODE 当启用时,传感器会发送一个测试模式,而不是从摄像机中进行真实的曝光。
    Key Integer SHADING_MODE 镜头阴影校正的质量应用于图像数据。
    Key Integer STATISTICS_FACE_DETECT_MODE 人脸检测装置的工作模式
    Key Boolean STATISTICS_HOT_PIXEL_MAP_MODE 热像素映射生成的操作模式。
    Key Integer STATISTICS_LENS_SHADING_MAP_MODE 摄像机设备是否会输出结果元数据中的镜头着色图。
    Key TonemapCurve TONEMAP_CURVE 当android.tonemap.mode 是CONTRAST_CURVE时,使用音调/对比度/伽玛曲线
    Key Float ONEMAP_GAMMA android.tonemap.mode 是GAMMA_VALUE时,使用Tonemapping曲线。tonemap曲线将定义如下公式:OUT=pow(在1.0/gamma中)输入的像素值被缩放到范围0.0,1.0,pow是能量函数,而伽玛是这个键所指定的伽马值。
    Key Integer TONEMAP_MODE 高级全球对比/γ/ tonemapping控制。
    Key Integer TONEMAP_PRESET_CURVE android.tonemap.mode 是 PRESET_CURVE时,使用Tonemapping曲线。tonemap曲线将由指定的标准定义。

    <1-1>CaptureRequest.Builder

    CaptureRequest内部类Builder,捕获请求的构建器。要获得构建器实例,可以使用CameraDeviced的createCaptureRequest(int)方法,该方法将请求字段初始化为在CameraDevice定义的一个模板。

    返回值(public static final ) 方法名 解释
    addTarget(Surface outputTarget) 向该请求的目标列表添加一个表面。当请求被发送给摄像机设备时,添加的表面必须是最近调用createCaptureSession(List, CameraCaptureSession.StateCallback, Handler)方法的一个表面。
    CaptureRequest build() 使用当前目标表面和设置构建一个请求。
    T get(Key key) 获取抓捕请求字段值
    removeTarget(Surface outputTarget) 从这个请求的目标列表中删除一个表面。
    set(Key key, T value) 将捕获请求字段设置为一个值
    setTag(Object tag) 为这个请求设置一个标记。

    常用的方法已加粗,通过CaptureRequest.Builder的set(Key key, T value)方法设置各种参数,比如自动对焦,设置flash,key值就是上面表中CaptureRequest的字段表,再通过build()方法生成CaptureRequest对象。注意,CaptureRequest继承于CameraMetadata类,CameraMetadata类的字段才是相机属性值的基类。

    <2>CameraCharacteristics

    返回值 方法 解释
    T get(Key key) 获取捕获请求字段值。
    List Key getAvailableCaptureRequestKeys() 获取CaptureRequest设置给CameraDevice的键值集合
    List Key getAvailableCaptureResultKeys() 获取CaptureResult设置给CameraDevice的键值集合
    List Key getKeys() 获取map中的键值集合
    返回值(public static final ) 字段名 解释
    Key int[] COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES 异常校正模式
    Key int[] CONTROL_AE_AVAILABLE_ANTIBANDING_MODES 自动曝光反带模式列表
    Key int[] CONTROL_AE_AVAILABLE_MODES 在自动曝光模式列表
    Key Range CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES 帧速率范围表
    Key Rational CONTROL_AE_COMPENSATION_STEP 最小的一步,可以改变曝光补偿。
    Key int[] CONTROL_AF_AVAILABLE_MODES 自动对焦(AF)列表
    Key int[] CONTROL_AVAILABLE_EFFECTS 色彩效果列表
    Key int[] CONTROL_AVAILABLE_MODES 控制模式列表
    Key int[] CONTROL_AVAILABLE_SCENE_MODES 场景列表模式
    Key int[] CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES 视频稳定模式列表
    Key int[] CONTROL_AWB_AVAILABLE_MODES 白平衡模式列表
    Key Boolean CONTROL_AWB_LOCK_AVAILABLE 相机设备支持MANUAL_POST_PROCESSING或BURST_CAPTURE则为true
    Key Integer CONTROL_MAX_REGIONS_AE 自动曝光(AE)例程可使用的最大计量区域数。
    Key Integer CONTROL_MAX_REGIONS_AF 自动对焦(AF)例程可使用的最大计量区域数。
    Key Integer CONTROL_MAX_REGIONS_AWB 自动白平衡(AWB)例程可使用的最大计量区域数。
    Key Range CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE 范围的增加
    Key Boolean DEPTH_DEPTH_IS_EXCLUSIVE 表示捕获请求是否可以同时针对DEPTH16/depthpointcloud输出,以及正常的颜色输出(例如yuv420888、JPEG或RAW)。
    Key int[] EDGE_AVAILABLE_EDGE_MODES 边缘增强模式列表
    Key Boolean FLASH_INFO_AVAILABLE 相机是否有闪光灯单元
    Key int[] HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES 热像素校正模式列表
    Key Integer INFO_SUPPORTED_HARDWARE_LEVEL 通常将相机设备功能的整体分类。
    Key Size[] JPEG_AVAILABLE_THUMBNAIL_SIZES JPEG缩略图的列表
    Key Integer LENS_FACING 摄像机相对于设备屏幕的方向
    Key float[] LENS_INFO_AVAILABLE_APERTURES 孔径尺寸值表
    Key float[] LENS_INFO_AVAILABLE_FILTER_DENSITIES 中性密度滤波器值表
    Key float[] LENS_INFO_AVAILABLE_FOCAL_LENGTHS 焦距列表
    Key int[] LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION 光学图像稳定(OIS)模式列表
    Key Integer LENS_INFO_FOCUS_DISTANCE_CALIBRATION 镜头聚焦距离校准质量。
    Key Float LENS_INFO_HYPERFOCAL_DISTANCE 这个镜头的超焦距。
    Key Float LENS_INFO_MINIMUM_FOCUS_DISTANCE 在镜头前的最短距离,可以把焦点集中在镜头的最前面。
    Key float[] LENS_INTRINSIC_CALIBRATION 该相机设备的固有校正参数。
    Key float[] LENS_POSE_ROTATION 传感器坐标系统的方向。
    Key float[] LENS_POSE_TRANSLATION 照相机光学中心的位置。
    Key float[] LENS_RADIAL_DISTORTION 修正了该相机装置的径向和切向透镜畸变的校正系数。
    Key int[] NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES 噪声抑制方式表
    Key Integer REPROCESS_MAX_CAPTURE_STALL 通过重新处理捕获请求引入的最大摄相机捕获管道(在帧数单元中)。
    Key int[] REQUEST_AVAILABLE_CAPABILITIES 这个相机设备所宣传的功能是完全支持的。
    Key Integer REQUEST_MAX_NUM_INPUT_STREAMS 任何类型的输入流的最大数量,可以同时被摄像机设备配置和使用。
    Key Integer REQUEST_MAX_NUM_OUTPUT_PROC 不同类型的输出流的最大数量,可以同时配置和使用一个摄像机设备来处理任何处理的(但不是停滞的)格式。
    Key Integer REQUEST_MAX_NUM_OUTPUT_PROC_STALLING 可以对任意处理(和停止)格式的摄像机设备同时配置和使用的不同类型的输出流的最大数量。
    Key Integer REQUEST_MAX_NUM_OUTPUT_RAW 不同类型的输出流的最大数量,可以同时配置和使用任何原始格式的摄像机设备。
    Key Integer REQUEST_PARTIAL_RESULT_COUNT 定义一个结果将由多少子组件组成。
    Key Byte REQUEST_PIPELINE_MAX_DEPTH 指定一个框架必须经历的最大管道阶段的数量,当它暴露在框架下的时候。
    Key Float SCALER_AVAILABLE_MAX_DIGITAL_ZOOM 活动区域宽度和作物区域宽度、活动区高度和作物区高度之间的最大比率,
    Key Integer SCALER_CROPPING_TYPE 这个相机设备所支持的裁剪类型。
    Key StreamConfigurationMap SCALER_STREAM_CONFIGURATION_MAP 这个相机设备支持的可用的流配置;还包括最小帧持续时间和每个格式/大小组合的停顿时间。
    Key int[] SENSOR_AVAILABLE_TEST_PATTERN_MODES 传感器测试模式模式列表
    Key BlackLevelPattern SENSOR_BLACK_LEVEL_PATTERN 每一种颜色过滤装置(CFA)马赛克通道都有固定的黑色电平。
    Key ColorSpaceTransform SENSOR_CALIBRATION_TRANSFORM1 每个设备的校准转换矩阵,从参考传感器的色彩空间映射到实际的设备传感器的色彩空间。
    Key ColorSpaceTransform SENSOR_CALIBRATION_TRANSFORM2 每个设备的校准转换矩阵,从参考传感器的色彩空间映射到实际的设备传感器的色彩空间(这是原始缓冲区数据的色彩空间)。
    Key ColorSpaceTransform SENSOR_COLOR_TRANSFORM1 一个矩阵,它将颜色值从CIE XYZ颜色空间转换为参考传感器颜色空间。
    Key ColorSpaceTransform SENSOR_COLOR_TRANSFORM2 一个矩阵,它将颜色值从CIE XYZ颜色空间转换为参考传感器颜色空间。
    Key ColorSpaceTransform SENSOR_FORWARD_MATRIX1 一个矩阵,它将白色平衡摄像机的颜色从参考传感器的色彩空间转换为带有D50白色点的CIE XYZ颜色空间。
    Key ColorSpaceTransform SENSOR_FORWARD_MATRIX2 一个矩阵,它将白色平衡摄像机的颜色从参考传感器的色彩空间转换为带有D50白色点的CIE XYZ颜色空间。
    Key Size SENSOR_INFO_PIXEL_ARRAY_SIZE 全像素数组的尺寸,可能包括黑色校准像素
    Key Rect SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE 在应用任何几何畸变校正之前,图像传感器的区域与活动的像素相对应。
    Key Range SENSOR_INFO_SENSITIVITY_RANGE 敏感的范围
    Key Integer SENSOR_INFO_TIMESTAMP_SOURCE 传感器捕获的时间基准源开始时间戳。
    Key Integer SENSOR_INFO_WHITE_LEVEL 传感器的最大原始值输出。
    Key Integer SENSOR_MAX_ANALOG_SENSITIVITY 最大灵敏度是通过模拟增益实现的。
    Key Integer SENSOR_OPTICAL_BLACK_REGIONS 显示传感器光学屏蔽黑色像素区域的分离矩形的列表。
    Key Rect[] SENSOR_OPTICAL_BLACK_REGIONS 显示传感器光学屏蔽黑色像素区域的分离矩形的列表。
    Key Integer SENSOR_ORIENTATION 顺时针方向的角度,在设备屏幕上,输出图像需要旋转以保持在本机定位上。
    Key Integer SENSOR_REFERENCE_ILLUMINANT1 标准参考光源用作场景光源
    Key Byte SENSOR_REFERENCE_ILLUMINANT2
    Key int[] SHADING_AVAILABLE_MODES 透镜阴影模式列表
    Key int[] STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES 人脸检测方式
    Key boolean[] STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES 热像素映射输出模式列表
    Key int[] STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES 镜头阴影贴图输出模式列表
    Key Integer STATISTICS_INFO_MAX_FACE_COUNT 同时可检测到的人脸的最大数量。
    Key Integer SYNC_MAX_LATENCY 提交请求后(不同于之前的)的最大帧数被提交,并且在结果的状态变为同步之前。
    Key int[] TONEMAP_AVAILABLE_TONE_MAP_MODES tonemapping列表模式
    Key Integer TONEMAP_MAX_CURVE_POINTS

    <3>TotalCaptureResult

    返回值 方法 解释
    List CaptureResult getPartialResults() 获得组成这个总结果的部分结果的只读列表。

    <4>CaptureResult

    CaptureResult的所有字段和CaptureRequest相同,请参考上边列表即可,下表是暴露的方法:

    返回值 方法 解释
    T get(Key key) 获取捕获请求字段值。
    long getFrameNumber() 得到与这个结果相关联的帧数。
    List Key getKeys() 返回该map中包含的键列表。
    CaptureRequest getRequest() 获取与此结果相关联的请求。
    int getSequenceId() CameraCaptureSession的capture(CaptureRequest,CameraCaptureSession.CaptureCallback, Handler)家庭的功能返回失败的序列ID

    <5>基类CameraMetadata

    摄像机控制和信息的基类。
    这个类定义了用于查询相机特性或捕获结果的基本键/值映射,以及设置相机请求参数。
    照相机的所有实例都是不可变的。getKeys()的键列表永远不会改变,也不会在对象的生命周期中返回任何键返回的值。

    如下字段当做手册查询即可:

    字段名(int ) 解释
    COLOR_CORRECTION_ABERRATION_MODE_FAST 异常校正不会降低相对于传感器原始输出的捕获率。
    COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY 异常校正在提高质量上运行,但捕获率可能降低(相对于传感器的原始输出率)。
    COLOR_CORRECTION_ABERRATION_MODE_OFF 不进行异常校正。
    COLOR_CORRECTION_MODE_FAST 颜色校正处理不能降低相对于传感器原始输出的捕获率。
    COLOR_CORRECTION_MODE_HIGH_QUALITY 在指定的白色平衡管道上方或以上的高级白色平衡调整可能被应用。
    COLOR_CORRECTION_MODE_TRANSFORM_MATRIX 使用android.colorCorrection.transform 矩阵 和android.colorCorrection.gains来做颜色转换
    CONTROL_AE_ANTIBANDING_MODE_50HZ 这款相机将调整曝光时间,以避免使用50Hz的照明电源。
    CONTROL_AE_ANTIBANDING_MODE_60HZ 这款相机将调整曝光时间,以避免使用60Hz的照明电源。
    CONTROL_AE_ANTIBANDING_MODE_AUTO 自适应照明条件
    CONTROL_AE_ANTIBANDING_MODE_OFF 相机设备不会调整曝光时间以避免出现问题。
    CONTROL_AE_MODE_OFF 相机设备的自动曝光程序被禁用。
    CONTROL_AE_MODE_ON 相机设备的自动曝光程序是主动的,没有闪光控制。
    CONTROL_AE_MODE_ON_ALWAYS_FLASH 闪光灯一直打开
    CONTROL_AE_MODE_ON_AUTO_FLASH 自适应,在光线较弱的情况下发射
    CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE 自适应,但自动红眼减少
    CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL 相机设备将取消当前的任何活动或已完成的预捕捉测量序列,自动曝光程序将返回其初始状态
    CONTROL_AE_PRECAPTURE_TRIGGER_IDLE 触发器是空闲的。
    CONTROL_AE_PRECAPTURE_TRIGGER_START 预捕获的测量序列将由摄像机设备启动。
    CONTROL_AE_STATE_CONVERGED AE对当前场景有很好的控制值
    CONTROL_AE_STATE_FLASH_REQUIRED AE有一组很好的控制值,但是flash需要被触发,因为它的质量仍然很好。
    CONTROL_AE_STATE_INACTIVE AE关闭或最近重置。
    CONTROL_AE_STATE_LOCKED AE被锁定
    CONTROL_AE_STATE_PRECAPTURE AE被要求做一个预捕获序列,目前正在执行它。
    CONTROL_AE_STATE_SEARCHING AE在当前场景中还没有一组良好的控制值。
    CONTROL_AF_MODE_AUTO 基本的自动对焦模式
    CONTROL_AF_MODE_CONTINUOUS_PICTURE 在这种模式下,AF算法不断地修改镜头位置,试图提供一个恒定不变的图像流
    CONTROL_AF_MODE_CONTINUOUS_VIDEO 在这种模式下,AF算法不断地修改镜头位置,试图提供一个恒定不变的视频流
    CONTROL_AF_MODE_EDOF 扩展的景深(数字焦点)模式。
    CONTROL_AF_MODE_MACRO 特写镜头聚焦模式。
    CONTROL_AF_MODE_OFF 自动对焦程序无法控制镜头,android.lens.focusDistance 由应用程序控制
    CONTROL_AF_STATE_ACTIVE_SCAN AF正在执行一个AF扫描,因为它是由AF触发器触发的。
    CONTROL_AF_STATE_FOCUSED_LOCKED AF相信它是正确的并且锁定了焦点
    CONTROL_AF_STATE_INACTIVE AF已经关闭,或者还没有被要求扫描。
    CONTROL_AF_STATE_NOT_FOCUSED_LOCKED AF未能成功地集中注意力,并且锁定了焦点。
    CONTROL_AF_STATE_PASSIVE_FOCUSED AF目前认为它是焦点,但可能在任何时候重新启动扫描。
    CONTROL_AF_STATE_PASSIVE_SCAN AF目前正在进行一种自动对焦模式的自动对焦,这是一种持续的自动对焦模式。
    CONTROL_AF_STATE_PASSIVE_UNFOCUSED AF在没有找到焦点的情况下完成了被动扫描,并且可以在任何时候重新启动扫描。
    CONTROL_AF_TRIGGER_CANCEL 自动对焦将返回到初始状态,并取消任何当前的活动触发器。
    CONTROL_AF_TRIGGER_IDLE 触发器是空闲的。
    CONTROL_AF_TRIGGER_START 自动对焦现在将触发。
    CONTROL_AWB_MODE_AUTO 自动白平衡程序是主动的
    CONTROL_AWB_MODE_CLOUDY_DAYLIGHT 相机装置使用浑浊的日光作为白色平衡的假设场景照明
    CONTROL_AWB_MODE_DAYLIGHT 相机装置使用日光照明作为白色平衡的假设场景照明。
    CONTROL_AWB_MODE_FLUORESCENT 相机装置使用荧光灯作为白色平衡的假设场景照明。
    CONTROL_AWB_MODE_INCANDESCENT 相机装置使用白炽灯作为白色平衡的假设场景照明。
    CONTROL_AWB_MODE_OFF 相机装置的自动白平衡程序被禁用。
    CONTROL_AWB_MODE_SHADE 相机装置使用遮光灯作为白色平衡的假设场景照明。
    CONTROL_AWB_MODE_TWILIGHT 相机装置使用微光作为白色平衡的假设场景照明。
    CONTROL_AWB_MODE_WARM_FLUORESCENT 相机装置使用温暖的荧光灯作为白色平衡的假设场景照明。
    CONTROL_AWB_STATE_CONVERGED AWB(自动白平衡)对当前场景有一组很好的控制值。
    CONTROL_AWB_STATE_INACTIVE AWB不是自动模式,或者还没有开始测量。
    CONTROL_AWB_STATE_LOCKED AWB被锁定
    CONTROL_AWB_STATE_SEARCHING AWB在当前场景中还没有很好的控制值。
    CONTROL_CAPTURE_INTENT_CUSTOM 这个请求的目标不属于其他类别。
    CONTROL_CAPTURE_INTENT_MANUAL 此请求用于手动捕获用例,其中应用程序希望直接控制捕获参数。
    CONTROL_CAPTURE_INTENT_PREVIEW 这个请求是一个类似于预览的用例。
    CONTROL_CAPTURE_INTENT_STILL_CAPTURE 这个请求是针对一个静态捕获类型的用例。
    CONTROL_CAPTURE_INTENT_VIDEO_RECORD 这个请求是一个视频记录用例。
    CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT 这个请求是用于一个视频快照(在录制视频时仍然是图像)用例。
    CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG 此请求适用于ZSL usecase;该应用程序将会流全解析度的图像,然后再处理一个或几个,最后捕获。
    CONTROL_EFFECT_MODE_AQUA 一种“aqua”效应,将蓝色的色调添加到图像中。
    CONTROL_EFFECT_MODE_BLACKBOARD 一种“黑板”效应,图像通常显示为黑色区域,有白色或灰色的细节。
    CONTROL_EFFECT_MODE_MONO 一种“单色”效果,将图像映射成单一颜色。
    CONTROL_EFFECT_MODE_NEGATIVE 图像的颜色颠倒的“光负”效应。
    CONTROL_EFFECT_MODE_OFF 不会使用彩色效果。
    CONTROL_EFFECT_MODE_POSTERIZE 一种“色调分离”的效果,即图像使用音调的离散区域而不是连续的音调梯度。
    CONTROL_EFFECT_MODE_SEPIA 一种“深褐色”效应,图像被映射成温暖的灰色、红色和棕色的色调。
    CONTROL_EFFECT_MODE_SOLARIZE 一种“太阳化”效果(Sabattier effect),在这里,图像完全或部分地颠倒了。
    CONTROL_EFFECT_MODE_WHITEBOARD 一个“白板”效果,图像通常显示为白色区域,有黑色或灰色的细节。
    CONTROL_MODE_AUTO 每个3A例程使用设置。
    CONTROL_MODE_OFF 管道的完全应用控制。
    CONTROL_MODE_OFF_KEEP_STATE 与OFF模式相同,除了这个捕捉不会被摄像机设备背景自动曝光,自动白平衡和自动对焦算法(3A)更新他们的统计数据。
    CONTROL_MODE_USE_SCENE_MODE 使用特定的场景模式。
    CONTROL_SCENE_MODE_ACTION 对快速移动对象的照片进行优化。
    CONTROL_SCENE_MODE_BARCODE 为精确捕捉条形码的照片而进行优化,以供希望读取条形码值的相机应用程序使用。
    CONTROL_SCENE_MODE_BEACH 为明亮的户外海滩设置优化。
    CONTROL_SCENE_MODE_CANDLELIGHT 在主要光源为火焰的昏暗环境中进行优化。
    CONTROL_SCENE_MODE_DISABLED 指示没有为给定的捕获请求设置场景模式。
    CONTROL_SCENE_MODE_FACE_PRIORITY 如果存在面部检测支持,使用面部检测数据自动对焦、自动白平衡和自动曝光程序。
    CONTROL_SCENE_MODE_FIREWORKS 优化了晚上的焰火照片。
    CONTROL_SCENE_MODE_HDR 打开设备特定的高动态范围(HDR)模式。
    CONTROL_SCENE_MODE_LANDSCAPE 对远处宏观物体的照片进行优化。
    CONTROL_SCENE_MODE_NIGHT 优化低光线设置。
    CONTROL_SCENE_MODE_NIGHT_PORTRAIT 对低光环境下的人的静态照片进行优化。
    CONTROL_SCENE_MODE_PARTY 为昏暗,室内设置和多个移动的人优化。
    CONTROL_SCENE_MODE_PORTRAIT 优化了人们的静态照片。
    CONTROL_SCENE_MODE_SNOW 为明亮的,室外设置的雪优化
    CONTROL_SCENE_MODE_SPORTS 对快速移动的人的照片进行优化。
    CONTROL_SCENE_MODE_STEADYPHOTO 由于设备运动的量小而优化避免了模糊的照片(例如:由于握手)。
    CONTROL_SCENE_MODE_SUNSET 对落日场景进行了优化。
    CONTROL_SCENE_MODE_THEATRE 对昏暗的室内设置进行优化,闪光灯必须保持关闭状态。
    CONTROL_VIDEO_STABILIZATION_MODE_OFF 视频稳定是禁用的。
    CONTROL_VIDEO_STABILIZATION_MODE_ON 启用视频稳定。
    EDGE_MODE_FAST 在质量水平上应用边缘增强,它不会减慢帧率相对于传感器输出。
    EDGE_MODE_HIGH_QUALITY 应用高质量的边缘增强,以降低输出帧率的代价。
    EDGE_MODE_OFF 没有使用边缘增强。
    EDGE_MODE_ZERO_SHUTTER_LAG 基于分辨率的不同输出流,边缘增强应用于不同的层次。
    FLASH_MODE_OFF 不适用闪光灯
    FLASH_MODE_SINGLE 如果闪光灯是可用的,并且被充电,那就用闪光灯来捕捉。
    FLASH_MODE_TORCH 闪光持续不断。
    FLASH_STATE_CHARGING 闪光灯在充电,不能使用
    FLASH_STATE_FIRED 这次抓拍使用闪光
    FLASH_STATE_PARTIAL 闪光部分照亮了这帧。
    FLASH_STATE_READY Flash已经准备好使用了。
    FLASH_STATE_UNAVAILABLE 相机不支持闪光灯
    HOT_PIXEL_MODE_FAST 采用热像素校正,不降低帧率,相对于传感器的原始输出。
    HOT_PIXEL_MODE_HIGH_QUALITY 采用高质量的热像素校正,相对于传感器的原始输出,其帧速率可能会降低。
    HOT_PIXEL_MODE_OFF 没有使用热像素校正。
    INFO_SUPPORTED_HARDWARE_LEVEL_3 这款相机的设备可以进行YUV的再处理和原始数据采集,同时具备全层功能。
    INFO_SUPPORTED_HARDWARE_LEVEL_FULL 该相机装置能够支持先进的成像应用。
    INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY 这个相机设备运行在向后兼容模式。
    INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED 这个相机设备没有足够的能力来满足成为一个完整的设备或更好。
    LENS_FACING_BACK 后置摄像头
    LENS_FACING_EXTERNAL 外部摄像头,没有固定的相对于设备的屏幕
    LENS_FACING_FRONT **前置摄像头
    LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE 镜头焦距以屈光度测量。
    LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED 用屈光度测量了透镜的焦距,并进行了校正。
    LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED 镜头焦距不准确,用于android.lens.focusDistance的单元不对应于任何物理单元
    LENS_OPTICAL_STABILIZATION_MODE_OFF 光学稳定不可用。
    LENS_OPTICAL_STABILIZATION_MODE_ON 光学稳定可用。
    LENS_STATE_MOVING 一个或几个镜头参数(android.lens.focalLength, android.lens.focusDistance, android.lens.filterDensity or android.lens.aperture)正在改变
    LENS_STATE_STATIONARY 一个或几个镜头参数(android.lens.focalLength, android.lens.focusDistance, android.lens.filterDensity and android.lens.aperture) 没有改变
    NOISE_REDUCTION_MODE_FAST 在不降低相对于传感器输出的帧率的情况下应用降噪。
    NOISE_REDUCTION_MODE_HIGH_QUALITY 采用高质量的降噪方法,降低了相对于传感器输出的帧率。
    NOISE_REDUCTION_MODE_MINIMAL 在不降低传感器输出的帧率的情况下,应用最小的降噪方法。
    NOISE_REDUCTION_MODE_OFF 不应用降噪。
    NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG 根据分辨率,不同的输出流采用不同的降噪方法。
    REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE 最小功能集,每个相机设备(无论android.info.supportedHardwareLevel)支持。
    REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE 相机设备支持在> = 20帧每秒捕获高分辨率图像,至少在未压缩的YUV格式下,当处理后设置快速设置时。
    REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO 该设备支持受约束的高速视频记录(帧速率> = 120fps)用例。
    REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT 摄像机装置可以从它的视野中产生深度测量。
    REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING 后处理阶段的摄像装置可以手动控制。
    REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR 相机设备可以手动控制(比如自动曝光,自动对焦等3A算法)。
    REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING 相机设备支持零快门延迟后处理用例。
    REQUEST_AVAILABLE_CAPABILITIES_RAW 摄像机设备支持输出原始缓冲区和元数据来解释它们。
    REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS 当内置的3A算法在运行时,相机设备支持精确地报告传感器的设置。
    REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING ,即摄像头设备支持YUV_420_888后处理用例,类似于PRIVATE_REPROCESSING,该功能要求摄像头设备支持以下内容:支持一个输入流,即android.request。maxNumInputStreams = = 1
    SCALER_CROPPING_TYPE_CENTER_ONLY 相机装置只支持中心的作物区域。
    SCALER_CROPPING_TYPE_FREEFORM 相机装置支持任意选择的作物区域。
    SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR
    SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG
    SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG
    SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG 传感器不是拜耳;输出的每个像素值为3个16位值,而不是每个像素只有1个16位的值。
    SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB
    SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME android.sensor.timestamp和elapsedRealtimeNanos()时间戳相同,它们可以与使用该基础的其他时间戳进行比较。
    SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN android.sensor.timestamp的时间戳以纳秒和单调为单位,但不能与其他子系统的时间戳进行比较
    SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER
    SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT W 3900 - 4500K
    SENSOR_REFERENCE_ILLUMINANT1_D50
    SENSOR_REFERENCE_ILLUMINANT1_D55
    SENSOR_REFERENCE_ILLUMINANT1_D65
    SENSOR_REFERENCE_ILLUMINANT1_D75
    SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT
    SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER
    SENSOR_REFERENCE_ILLUMINANT1_FLASH
    SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT
    SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN
    SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN
    SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A
    SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B
    SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C
    SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN 白炽灯
    SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT D 5700 - 7100K
    SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT N 4600 - 5400K
    SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT WW 3200 - 3700K
    ENSOR_TEST_PATTERN_MODE_COLOR_BARS 所有的像素数据被一个8小节的颜色模式取代。
    SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY 测试模式与COLOR_BARS类似,只是每个条都应该从顶部的指定颜色开始,并在底部渐变为灰色。
    SENSOR_TEST_PATTERN_MODE_CUSTOM1 第一个自定义测试模式。
    SENSOR_TEST_PATTERN_MODE_OFF 没有使用测试模式模式,相机设备返回从图像传感器捕获。
    SENSOR_TEST_PATTERN_MODE_PN9 所有像素数据都由pn9512位序列生成的伪随机序列(通常在带有线性反馈移位寄存器的硬件中实现)所替代。
    SENSOR_TEST_PATTERN_MODE_SOLID_COLOR SENSOR_TEST_PATTERN_MODE_SOLID_COLOR提供的每个像素的[R, G_even, G_odd, B]被其各自的颜色通道所取代
    SHADING_MODE_FAST 应用镜头遮阳校正,不减慢帧率相对于传感器的原始输出
    SHADING_MODE_HIGH_QUALITY 采用高质量的镜片阴影校正,以降低帧率为代价。
    SHADING_MODE_OFF 不使用镜片阴影校正。
    STATISTICS_FACE_DETECT_MODE_FULL 返回所有元数据。
    STATISTICS_FACE_DETECT_MODE_OFF 在捕获结果中不包括人脸检测统计。
    STATISTICS_FACE_DETECT_MODE_SIMPLE 只返回矩形和置信值。
    STATISTICS_LENS_SHADING_MAP_MODE_OFF 在捕获结果中不包括镜头阴影图。
    STATISTICS_LENS_SHADING_MAP_MODE_ON 在捕获结果中包括一个镜头阴影图
    STATISTICS_SCENE_FLICKER_50HZ 相机设备在当前场景中检测到50Hz的照明。
    STATISTICS_SCENE_FLICKER_60HZ
    STATISTICS_SCENE_FLICKER_NONE 摄像机设备没有检测到当前场景中任何闪烁的照明
    SYNC_MAX_LATENCY_PER_FRAME_CONTROL 每一帧都有立即应用的请求。
    SYNC_MAX_LATENCY_UNKNOWN 每一新帧都有一些过去请求应用到相机设置的子集(可能是整个集合)。
    TONEMAP_MODE_CONTRAST_CURVE
    TONEMAP_MODE_FAST 在不降低帧速率的情况下,可以应用高级的伽马映射和颜色增强。
    TONEMAP_MODE_GAMMA_VALUE 使用android.tonemap中指定的伽玛值
    使用android.tonemap中指定的伽玛值 高质量的伽马映射和彩色增强将会被应用,与原始传感器输出相比,可能会降低帧速率。
    TONEMAP_MODE_PRESET_CURVE 使用android.tonemap中指定的预设置的tonemapping曲线
    TONEMAP_PRESET_CURVE_REC709 onemapping曲线由itu - r bt709定义
    TONEMAP_PRESET_CURVE_SRGB 调色曲线是由sRGB定义的

    <6>照片数据处理类ImageReader

    ImageReader extends Object
    官方文档解释:
    ImageReader类允许应用程序直接将图片数据渲染到Surface上
    一些Android media API类允许将Surface类当做渲染目标,包括 MediaPlayer, MediaCodec, CameraDevice, ImageWriter 和Allocations. 每个源可以使用的图像大小和格式各不相同,并且应该在特定API的文档中进行检查。
    图像数据被封装到Image对象中,同时也可以被多个这种对象访问。通过它的Surface类,新的Image数据将ImageReader类发送到队列,调用 ImageReader的acquireLatestImage() 或者oacquireNextImage() 方法接收Image数据。由于内存限制,如果ImageReader不能以与生产速率相同的速率获取和释放图像,那么图像源将最终停止或删除图像。
    暴露的方法见下表:

    返回值 方法 解释
    Image acquireLatestImage() 从ImageReader的队列中获取最新的图像,删除较旧的Image
    Image acquireNextImage() 从ImageReader队列获取下一个图像
    close() 释放与此ImageReader相关的所有资源。
    int getHeight() 图像的默认高度,以像素为单位
    int getImageFormat() 图像的默认图像格式。
    int getMaxImages() 从ImageReader获得的最大数量的图像
    Surface getSurface() 获得一个可以用来为这个ImageReader生成图像的Surface
    int getWidth() 图像的默认宽度,以像素为单位
    ImageReader newInstance(int width, int height, int format, int maxImages) 为想要的大小和格式创建一个新的对象
    setOnImageAvailableListener(ImageReader.OnImageAvailableListener listener, Handler handler) 当一个新映像从ImageReader可用时,注册一个侦听器将被调用。

    该表的setOnImageAvailableListener的第一个参数,就可以将获取的数据在任意地方实现,以便保存拍照的数据

    <6>xml布局类TextureView

    官方文档解释:
    TextureView类可以展示内容流,这样的内容流可以是一个video或者一个OpenGL场景,内容流可以来自应用程序的流程和远程流程。

    TextureView 只可以用于硬件加速窗口,当它在软件中渲染时,TextureView不画任何内容。
    和SurfaceView不同,TextureView没有创建一个分离的窗口,它的行为是一个正常的视图。关键的区别是TextureView可以移动,转换,动画等。例如,你可以调用mView.setAlpha(0.5)方法让TextureView变成半透明。
    使用 TextureView很简单,你只需要获取它的SurfaceTextrue,这个SurfaceTexture可用来渲染内容,SurfaceTexture对象可以通过getSurfaceTexture()方法或者TextureView.SurfaceTextureListener监听获得。重要的是要知道,只有TextureView在连接到窗口后,才可以使用SurfaceView(并且已经调用了TextureView的onAttachedToWindow()方法)。强烈建议使用监听器方式,以便在SurfaceTexture变成可用时,通知到监听中做处理。
    需要注意的是,只有一个生产者可以使用TextureView,例如,如果你用TextureView展示相机预览,你就不能同时使用 lockCanvas()在TextureView上绘制。

    返回值 方法 解释
    void buildLayer() 调用这种方法没有效果。
    final void draw(Canvas canvas) textureView的子类不能使用Canvas对象进行自己的渲染。
    Bitmap getBitmap(int width, int height) 返回SurfaceTexture相关内容的Bitmap对象
    Bitmap getBitmap()
    Bitmap getBitmap(Bitmap bitmap) 将该视图的SurfaceTexture的内容复制到指定的bitmap中。
    int getLayerType() 返回LAYER_TYPE_HARDWARE.
    SurfaceTexture getSurfaceTexture() 获取视图的SurfaceTexture 对象
    SurfaceTextureListener getSurfaceTextureListener()
    Matrix getTransform(Matrix transform) 返回与此纹理视图关联的转换。
    boolean isAvailable() 如果与TextureView相关的 SurfaceTexture 可以用于呈现,则返回true
    boolean isOpaque() 表示此视图是否不透明
    Canvas lockCanvas() 开始编辑表面的像素。
    Canvas lockCanvas(Rect dirty) 就像lockCanvas(),但是允许指定一个脏的矩形。
    void setForeground(Drawable foreground) 提供一个可以在视图中所有内容之上呈现的可绘制的图。
    void setLayerPaint(Paint paint) 更新当前layout中使用的paint对象(仅在当前层类型没有设置为LAYER_TYPE_NONE才可以使用)
    void setOpaque(boolean opaque) 表示此文本检查的内容是否不透明。
    void setLayerType(int layerType, Paint paint) 当TextureView总被当做硬件层,这个层类型就会被忽略
    setSurfaceTexture(SurfaceTexture surfaceTexture) 为视图添加SurfaceTexture使用(自定义使用)
    setSurfaceTextureListener(SurfaceTextureListener listener) 监听TextureView事件
    setTransform(Matrix transform) 设置和TextureView相关的转换
    unlockCanvasAndPost(Canvas canvas) 结束像素编辑

    Camera2的使用简单说就是,xml布局使用TextureView,操作流程都在android.hardware.camera2中,拍照结果用ImageReader处理。而具体的android.hardware.camera2中的操作,见下一篇文章介绍:
    android基础总结:Camera2详解之二 官方demo解读及深入实现

    展开全文
  • [14本经典Android开发教程]-2-Android开发手册-API函数详解 http://download.csdn.net/detail/cleopard/8374487 剩余11本稍后上传!@或直接从这里寻找@ http://download.csdn.net/user/cleopard/album @更多@ ...
  • AWTK开发手册-AWTK开发实践指南-中文手册.pdf AWTK = Toolkit AnyWhere 随着手机、智能手表等便携式设备的普及,用户对 GUI 的要求越来越高,嵌入式系统对高性能、高可靠性、低功耗、美观炫酷的 GUI 的需求也...
  • Android教程全套

    2018-07-14 21:00:59
    6、Android开发手册--API函数详解.pdf 7、Android驱动开发入门及手机案例开发分析教程.pdf 8、Android系统移植技术详解.doc 9、Android新手开发教程.pdf 10、Android应用程序开发36技.pdf 11、linux Android基础...

空空如也

空空如也

1 2 3 4
收藏数 75
精华内容 30
关键字:

android中文api手册