Android: используйте обе камеры одновременно

Я хочу активировать обе камеры

Спереди для видеозвонка и сзади для захвата изображений

Некоторые устройства (например, lg g4) работают нормально, но некоторые устройства (например, sony) не работают и приложение вылетает

Как я могу обнаружить устройства, если работает этот элемент?

if (CanActiveBoth){
 // show icons
} else {
 // hidden icons
}

Обработайте исключение на неработающих устройствах.

Rohit5k2 13.09.2018 10:02

@ Rohit5k2 как я могу?

Tooti Tooti 13.09.2018 10:03
1
2
38
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сначала вы должны попытаться поймать исключения. Возможно, вы сможете решить эту проблему для всех устройств, если вы читали StackTrace, поэтому просто передайте свой метод, который дает сбой в Try-Catch-Block

try {
     // ...your Method that crashes
} catch (Exception e) {
     // Get your Error Message (or e.getStackTrace())
     System.out.println("Error " + e.getMessage());
     return null;
}

Спасибо. но я хочу получить ошибку при запуске приложения. ваш код для клика

Tooti Tooti 13.09.2018 10:18

если вы поймаете ошибку при отладке с помощью этого кода, вы можете узнать, что именно вызывает ошибка -> простой пример: на некоторых устройствах параметр x = null, поэтому с этой информацией вы можете перейти с простым выражением if (x != null) к проверьте на ходу, может ли устройство открывать обе камеры

Aiko West 13.09.2018 10:29

Верно ? : try { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE_SECURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); startActivityForResult(intent, 2); }

Tooti Tooti 13.09.2018 10:35

я так думаю, попробуй :)

Aiko West 13.09.2018 10:49

если ваше устройство LG и Sony работает одновременно (sony не генерирует исключение), вам нужно углубиться и использовать блок try catch в запущенном действии

Aiko West 13.09.2018 10:54

Другие вопросы по теме