PictureCallback. onPictureTaken никогда не звонил

Я пишу приложение, которому нужны снимки, сделанные камерой. Проблема возникает, когда я пытаюсь сделать реальный снимок. Вот код, который меня беспокоит:

    final ShutterCallback shutterCallback = new ShutterCallback() {
        @Override
        public void onShutter() {
            Log.d(TAG, "onShutter");
        }
    };

    final PictureCallback callback = new PictureCallback() {

        @Override
        public void onPictureTaken(byte[] data, Camera camera) {
            Log.d(TAG, "onPictureTaken - jpeg");
            try {
                //async task for storing the photo
                new SavePhotoTask(CameraView.this.ctx, data).execute();
            } catch (final SavePhotoException e) {
                //some exceptionhandling
            }
        }
    };
    this.camera = Camera.open();
    this.camera.setPreviewDisplay(surfaceHolder);
    final Camera.Parameters parameters = findBestParameters(w, h);
    this.camera.setParameters(parameters);
    this.camera.startPreview();
    Log.d(TAG, "takePicture now!");
    this.camera.takePicture(shutterCallback, null, callback);

На эмуляторе вроде работает, а на моем телефоне (Motorola Defy - android 2.1).

Настоящая проблема: на телефоне никогда не происходит обратного вызова изображения, "onPictureTaken" никогда не вызывается. Shuttercallback выполняется, а другой нет (и я пробовал использовать raw вместо jpeg, то же самое).

Кто-нибудь знает об этой проблеме? Я просто не вижу, в чем разница в эмуляторе прямо сейчас. Я ценю вашу помощь. Я пытаюсь придумать алгоритм вычисления среднего для набора чисел. Однако мне нужно пренебречь ...

Прежде всего, это скорее вопрос математики, чем кодирования, так что проявите терпение. Я пытаюсь придумать алгоритм вычисления среднего для набора чисел. Однако мне нужно пренебречь любыми числами, которые не близки к большинству результатов. Вот пример того, что я пытаюсь сделать:

Допустим, у меня есть набор чисел, которые похожи на следующие:

{ 90, 91, 92, 95, 2, 3, 99, 92, 92, 91, 300, 91, 92, 99, 400 }

для набора выше ясно, что большинство чисел лежит между 90 и 99 , однако у меня есть некоторые выбросы, такие как {300, 400, 2, 3} . Мне нужно вычислить среднее значение этих чисел, не обращая внимания на выбросы. Я действительно помню, как читал о чем-то подобном на уроках статистики, но я не могу вспомнить, что это было или как подойти к решению.

Буду признателен за любую помощь ..

Спасибо

6
задан Regexident 7 May 2015 в 14:06
поделиться