Я хочу активировать обе камеры
Спереди для видеозвонка и сзади для захвата изображений
Некоторые устройства (например, lg g4) работают нормально, но некоторые устройства (например, sony) не работают и приложение вылетает
Как я могу обнаружить устройства, если работает этот элемент?
if (CanActiveBoth){
// show icons
} else {
// hidden icons
}
@ Rohit5k2 как я могу?
Сначала вы должны попытаться поймать исключения. Возможно, вы сможете решить эту проблему для всех устройств, если вы читали 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;
}
Спасибо. но я хочу получить ошибку при запуске приложения. ваш код для клика
если вы поймаете ошибку при отладке с помощью этого кода, вы можете узнать, что именно вызывает ошибка -> простой пример: на некоторых устройствах параметр x = null, поэтому с этой информацией вы можете перейти с простым выражением if (x != null)
к проверьте на ходу, может ли устройство открывать обе камеры
Верно ? : try { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE_SECURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); startActivityForResult(intent, 2); }
я так думаю, попробуй :)
если ваше устройство LG и Sony работает одновременно (sony не генерирует исключение), вам нужно углубиться и использовать блок try catch в запущенном действии
Обработайте исключение на неработающих устройствах.