Проблема с пробуждением камеры на Android - PullRequest
0 голосов
/ 04 мая 2020

Я использую образец camera2raw из Android, с некоторыми серьезными модификациями. Одна из моих целей - сделать приложение с интервальной съемкой, которое делает несколько снимков, устанавливает будильник, спит, и когда срабатывает будильник, оно пробуждает устройство.

Итак, у нас есть этот бит кода:

@Override
public void onResume() {
    Log.e(TAG, "On resume called...");
    super.onResume();
    startBackgroundThread();

    openCamera();

Это работает большую часть времени, но иногда, если телефон слишком долго спит и входит в режим ожидания, я получаю исключение в openCamera (); когда он вызывает manager.openCamera (cameraId, mStateCallback, backgroundHandler);

Исключение говорит, что у меня нет разрешения открывать камеру в фоновом режиме.

Так что я думаю, что решение будет чтобы немного подождать, но я не очень знаком с Java и Android, и я не уверен, как это сделать. Я делаю большую часть вещей в нативном коде, где решением было бы просто использовать небольшой usleep (); и попробуйте еще раз.

Единственное решение, которое я могу придумать сейчас, это отловить ошибку, когда камера не открывается, установить переменную с успехом / неудачей, и, если она не удалась, вызвать ее снова из моего нативного код. Но было интересно, есть ли более простое решение для этого.

Любая помощь будет оценена.

...