Android захват изображений не работает в другой раз - PullRequest
3 голосов
/ 19 ноября 2011

Я сделал приложение, которое захватывает изображение каждую минуту и ​​загружает его на сервер.Приложение хорошо работает на телефоне, но когда я запускаю то же самое приложение на планшете, оно захватывает изображение и загружает один раз;в следующий раз он показывает черный экран.

Что мне теперь делать?

1 Ответ

5 голосов
/ 17 декабря 2011

Я нашел решение этого. Моя камера не может установить параметры во время предварительного просмотра. Поэтому я нашел хорошую функцию для установки параметров камеры для планшетов.

private Size getOptimalPreviewSize(List<Size> sizes, int w, int h) {
    // TODO Auto-generated method stub
    final double ASPECT_TOLERANCE = 0.05;
    double targetRatio = (double) w / h;
    if (sizes == null) return null;

    Size optimalSize = null;
    double minDiff = Double.MAX_VALUE;

    int targetHeight = h;

    // Try to find an size match aspect ratio and size
    for (Size size : sizes) {
    double ratio = (double) size.width / size.height;
    if (Math.abs(ratio - targetRatio) > ASPECT_TOLERANCE) continue;
    if (Math.abs(size.height - targetHeight) < minDiff) {
    optimalSize = size;
    minDiff = Math.abs(size.height - targetHeight);
    }
    }

    // Cannot find the one match the aspect ratio, ignore the requirement
    if (optimalSize == null) {
    minDiff = Double.MAX_VALUE;
    for (Size size : sizes) {
    if (Math.abs(size.height - targetHeight) < minDiff) {
    optimalSize = size;
    minDiff = Math.abs(size.height - targetHeight);
    }
    }
    }
    return optimalSize;
}
...