Вылетает приложение при запуске камеры
Вроде бы все делаю по документации, но как когда, иногда запускается камеры иногда просто выходит из приложения и никакой ошибки не выдает
private fun loadCamera() {
try {
startActivityForResult(cameraParse.dispatchTakePictureIntent(), REQUEST_TAKE_PHOTO)
} catch (e: ActivityNotFoundException) {
Log.i("CAMERA","${e.message}")
}catch (e: Exception){
Log.i("CAMERA","${e.message}")
}
}
class CameraParse(val context: Context) {
lateinit var currentPhotoPath: String
@Throws(IOException::class)
private fun createImageFile(): File = File.createTempFile(
"JPEG_${SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US).format(Date())}_",
".jpg",
context.getExternalFilesDir(Environment.DIRECTORY_PICTURES)
).apply {
currentPhotoPath = absolutePath
}
fun dispatchTakePictureIntent(): Intent =
Intent(MediaStore.ACTION_IMAGE_CAPTURE).also { takePictureIntent ->
takePictureIntent.resolveActivity(context.packageManager)?.also {
val photoFile: File? = try {
createImageFile()
} catch (ex: IOException) {
null
}
photoFile?.also {
val photoURI: Uri = FileProvider.getUriForFile(
context,
"com.io.unknow.fileprovider",
it
)
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI)
}
}
}
}
<uses-feature android:name="android.hardware.camera"
android:required="false" />
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.io.unknow.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"></meta-data>
</provider>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-files-path name="images" path="Pictures" />
</paths>
Ответы (1 шт):
Автор решения: Сергей
→ Ссылка
В своем проекте я просто убрал строчку из манифеста У вас нужно убрать это
<uses-feature android:name="android.hardware.camera"android:required="false" />