Mentre si lavora con l'API della fotocamera, ho riscontrato un problema su un dispositivo HTC ONE. Ho controllato questo su LG G2 e ha funzionato senza errori. Ho rintracciato il problema verso il basso per una sola riga:Il metodo di chiamata getFocusAreas() causa java.lang.NumberFormatException su HTC ONE
List<Camera.Area> areas = camera.getParameters().getFocusAreas();
getParameters Method() funziona da esso auto. Quindi il problema è in getFocusArea(). Questo è uno snippet di LogCat.
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)
Questa è informazioni sul dispositivo.
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
Quindi, qualcuno può spiegare perché si tratta di questo e se c'è una soluzione alternativa?
Hai spiegato nella tua eccezione: 'Int non valido:" 0 "'. Sbarazzati di quello spazio. –
@Marcin Grazie per la tua brillante intuizione. Queste stringhe difettose non dipendono da me ma dal funzionamento interno dell'API. So che il problema è questa stringa. Per favore leggi la domanda e non pubblicare (o meno) se non sai di cosa stai scrivendo. –
La risposta è "Sbarazzati di quello spazio". Ho ottenuto record di dispositivi HTC facendo stranezze con i formati numerici qua e là (come l'uso di ',' invece di '. 'Mentre tutti gli altri dispositivi utilizzavano' .' quindi si bloccavano per lo stesso motivo a causa della mancata corrispondenza del formato. space' :) –