Служба регистрации Knox запрещает доступ к камере

Я делаю простое приложение для сканирования QR-кодов и использую для этого библиотеку Google Zebra Crossing с открытым исходным кодом. Я делал это раньше и пытаюсь использовать тот же метод, что и в прошлый раз, но мешает определенная служба регистрации Knox.

В приложении у меня есть кнопка, которая вызывает функцию сканирования, которая выглядит следующим образом.

public void scan(View v) {
    Intent intent = new Intent("com.google.zxing.client.android.SCAN");
    startActivityForResult(intent, 0);
}

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

Служба регистрации Knox: К сожалению, с камерой Android возникла проблема. Возможно, вам потребуется перезагрузить устройство.

Перезагрузка устройства ничего не делает.

В Андроиде что-то изменилось или это конкретно от Самсунга штучка?

В конечном счете, есть ли способ обойти службу регистрации Knox или другой способ сканирования QR-кодов без использования Knox?


person BlueLite    schedule 20.02.2020    source источник
comment
knox это самсунг да   -  person Blundell    schedule 20.02.2020
comment
Камера Android - одноэлементная, у вас не может быть двух активных экземпляров. Возможно ли, что вы что-то сделали, чтобы knox завладел камерой, а не выпустил ее?   -  person Lena Bru    schedule 20.02.2020
comment
он просит вас перезагрузить устройство, потому что это верный способ убедиться, что объект камеры выпущен   -  person Lena Bru    schedule 20.02.2020
comment
Все, что я делаю, это передаю новое намерение через библиотеку zxing.   -  person BlueLite    schedule 20.02.2020
comment
какие-нибудь обновления по этому поводу?   -  person StefanS    schedule 07.09.2020


Ответы (1)


Я только что столкнулся с этим и, к счастью, смог найти решение для этого методом проб и ошибок.

  1. Перейдите в строку поиска вашего телефона (проведите вниз по главному экрану) и введите Knox Enrollment Service.
  2. Прокрутите вниз до разрешений
  3. Нажмите Камера, затем выберите Разрешить
  4. Выйдите из приложения, которое вы пытаетесь использовать, и перезапустите приложение - теперь оно должно работать.

Я не уверен, почему он не включен по умолчанию, но, похоже, это причина проблемы. Протестировано на Galaxy A51 под управлением Android версии 10, уровень API Knox 30.

person Josh Correia    schedule 17.09.2020