Важно использовать этот метод, потому что камеры на разных устройствах поддерживают очень разные разрешения, поэтому вам нужно будет указать, какое разрешение вы хотите из тех, которые доступны на данном устройстве.
Псевдо ....
Camera.Parameters cp = mCamera.getParameters();
List<Size> sl = cp.getSupportedPictureSizes();
//now that you have the list of supported sizes, pick one and set it back to the parameters...
int w,h;
for(Size s : sl){
//if s.width meets whatever criteria you want set it to your w
//and s.height meets whatever criteria you want for your h
w = s.width;
h = s.height;
break;
}
cp.setPictureSize(w, h);
mCamera.setParameters(cp);
Обычно самое важное - это соотношение сторон фотографии. Итак, вы захотите сравнить ш / ч с 16: 9 или 4: 3, а затем найти самое высокое (или второе по величине) качество при поддерживаемом соотношении. Очевидно, я не знаю, каковы ваши потребности, поэтому вам придется определить, какие размеры действительно соответствуют вашим заданным критериям. Если вам просто нужно высочайшее качество и вас не интересует соотношение сторон, вы обычно найдете его как последний элемент в списке размеров.