Что я могу вам сказать, так это то, что вы не можете доверять getHor horizontalViewingAngle (). Теоретически, эта функция должна получить правильное значение, но многие телефоны (по моему опыту) имеют просто случайное значение там. Это может быть 360, как в вашем случае, 10 (другой телефон, о котором я слышал), или иметь те же вертикальные и горизонтальные углы обзора, что не может быть правильным. Единственный надежный способ сделать это - измерить или определить по оптике для каждого телефона, который вы хотите поддерживать.
Отметьте комментарий @ mat-ball, чтобы узнать, как его измерить, и посмотрите в этом посте об iPhone, как его рассчитать (предположим, у вас есть сведения о размере чипа и всех остальных)
http://falklumo.blogspot.com/2010/06/apple-iphone-4-camera-specs.html
Причиной этого является то, что функция в Android API должна иметь ненулевое значение, и чтобы телефон был распознан как android-phone, он должен пройти некоторые автоматические тесты. И производители просто вводят значение, чтобы убедиться, что их реализация API проверена.
http://developer.android.com/reference/android/hardware/Camera.Parameters.html#getHorizontalViewAngle()
Извините, что разочаровал вас, но это правда:)
EDIT
Если вы хотите использовать это при увеличении или уменьшении, чтобы извлечь динамический угол обзора, не используйте getHVA (), даже когда он получает допустимое значение, потому что не изменяется с увеличением , как можно было бы предположить.