android - 在 HTC ONE 上调用方法 getFocusAreas() 导致 java.lang.NumberFormatException

标签 android

在使用相机 API 时,我在 HTC ONE 设备上遇到了一个问题。我在 LG G2 上检查过这个并且没有错误。 我已将问题追查到一行:

List<Camera.Area> areas = camera.getParameters().getFocusAreas();

方法 getParameters() 自行运行。所以问题出在getFocusArea()。 这是来自 LogCat 的 fragment 。

07-24 18:29:13.716 W/ActivityMain(28952): java.lang.NumberFormatException: Invalid int: " 0"
07-24 18:29:13.716 W/ActivityMain(28952):   at java.lang.Integer.invalidInt(Integer.java:137)
07-24 18:29:13.716 W/ActivityMain(28952):   at java.lang.Integer.parse(Integer.java:374)
07-24 18:29:13.716 W/ActivityMain(28952):   at java.lang.Integer.parseInt(Integer.java:365)
07-24 18:29:13.716 W/ActivityMain(28952):   at java.lang.Integer.parseInt(Integer.java:331)
07-24 18:29:13.716 W/ActivityMain(28952):   at android.hardware.Camera$Parameters.splitInt(Camera.java:4321)
07-24 18:29:13.716 W/ActivityMain(28952):   at android.hardware.Camera$Parameters.splitArea(Camera.java:4428)
07-24 18:29:13.716 W/ActivityMain(28952):   at android.hardware.Camera$Parameters.getFocusAreas(Camera.java:4088)

这是设备信息。

build.board: APQ8064
build.bootloader: 1.57.0000
build.brand: htc
build.cpu_abi: armeabi-v7a
build.cpu_abi2: armeabi
build.device: m7
build.display: KOT49H release-keys
build.fingerprint: htc/htc_europe/m7:4.4.2/KOT49H/334166.10:user/release-keys
build.hardware: m7
build.host: abm019
build.id: KOT49H
build.manufacturer: HTC
build.model: HTC One
build.product: htc_europe
build.radio: unknown
build.serial: FA35WW934521
build.tags: release-keys
build.time: 1399302943000
build.type: user
build.user: buildteam
version.codename: REL
version.incremental: 334166.10
version.release: 4.4.2
version.sdk_int: 19

那么,任何人都可以解释为什么会出现这种情况以及是否有解决方法?

最佳答案

似乎这是 API 中的错误,仅在某些设备中发生。 只有在尚未通过调用 setFocusAreas()

提交任何区域时才会发生这种情况

解决方法很简单。至少调用一次 setFocusAreas()。可能您想在某种类型的设置/初始化函数中执行此操作,或者保留一个标志以跟踪您是否至少调用了一次此函数。

参见 this link有关该错误的更多信息。

关于android - 在 HTC ONE 上调用方法 getFocusAreas() 导致 java.lang.NumberFormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24941372/

相关文章:

java - 将日期转换为文本格式

android - 如何制作循环 ScrollView ?

android - 支持库(v4 与 v13)

android - V/FA : Inactivity, 与服务断开连接

android - 如何判断专辑何时添加到 MediaStore

android - 如何在Eclipse中配置javah工具

android - 如何从协程返回 ArrayList?

java - 开发人员在构建手机应用程序之前应该了解什么?

android - 如何在构建服务器和工作站之间同步Gradle/Android版本代码

java - 在数据更改时更新 ListView 行