Последнее разрешение камеры в Android Kotlin? ⇐ Android
-
Гость
Последнее разрешение камеры в Android Kotlin?
частное развлечение showImagePicDialog() { val options = arrayOf("Сделать фото", "Снять видео", "Выбрать фото", "Выбрать видео") val builder = AlertDialog.Builder(requireContext()) builder.setTitle("Выбрать сообщение из...") builder.setItems(options) { диалог, который -> когда (который) { 0 -> сделать фото() 1 -> взять видео() 2 -> выбрать фото() 3 -> выбрать видео() } } строитель.создать().показать()
частное развлечение takePhoto() { val cameraIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE) startActivityForResult (cameraIntent, 1000) } частное развлечение takeVideo() { val cameraIntent = Intent(MediaStore.ACTION_VIDEO_CAPTURE) startActivityForResult (cameraIntent, 1001) } личное развлечение ChoosePhoto() { val cameraIntent = Intent(Intent.ACTION_GET_CONTENT) cameraIntent.type = "изображение/*" if (cameraIntent.resolveActivity(requireActivity().packageManager) != null) { startActivityForResult (cameraIntent, 1002) } } частное развлечение ChooseVideo() { val намерение = Намерение (Intent.ACTION_GET_CONTENT) Intent.type = "видео/*" startActivityForResult (намерение, 1003) } переопределить fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult (код запроса, код результата, данные) когда (код запроса) { 1000 -> { если (resultCode == Activity.RESULT_OK) { takePhotoBitmap = data?.extras?.get("data") как? Битовая карта если (takePhotoBitmap!= ноль) { привязка.sImgUploadPost.setImageBitmap(takePhotoBitmap) } } еще { requireContext().showToast("Фотосъемка была отменена или не удалась") } } 1001 -> { если (resultCode == Activity.RESULT_OK) { takeVideoURI = данные?.данные если (takeVideoURI != ноль) { // Обработка URI захваченного видео // Например, вы можете отобразить его в VideoView привязка.sVidUploadPost.setVideoURI(takeVideoURI) привязка.sVidUploadPost.start() } } еще { // Запись видео была отменена или не удалась requireContext().showToast("Запись видео была отменена или не удалась") } } 1002 -> { if (resultCode == Activity.RESULT_OK && data != null && data.data != null) { выберитеPhotoURI = данные?.данные if (choosePhotoURI != null) { Glide.with(this).load(choosePhotoURI).centerCrop() .transition(DrawableTransitionOptions.withCrossFade()) .into(binding.sImgUploadPost) } } еще { requireContext().showToast("Выбор фотографии был отменен или не выполнен") } } 1003 -> { if (resultCode == Activity.RESULT_OK && data != null && data.data != null) { выберитеVideoURI = данные?.данные if (chooseVideoURI != null) { // Обработка выбранного URI видео // Например, вы можете отобразить его в VideoView привязка.sVidUploadPost.setVideoURI(chooseVideoURI) привязка.sVidUploadPost.start() } } еще { requireContext().showToast("Выбор видео был отменен или не выполнен") } } } } startActivityForResult и super.onActivityResult(requestCode, resultCode, data) устарели. Можете ли вы решить проблему?
частное развлечение showImagePicDialog() { val options = arrayOf("Сделать фото", "Снять видео", "Выбрать фото", "Выбрать видео") val builder = AlertDialog.Builder(requireContext()) builder.setTitle("Выбрать сообщение из...") builder.setItems(options) { диалог, который -> когда (который) { 0 -> сделать фото() 1 -> взять видео() 2 -> выбрать фото() 3 -> выбрать видео() } } строитель.создать().показать()
частное развлечение takePhoto() { val cameraIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE) startActivityForResult (cameraIntent, 1000) } частное развлечение takeVideo() { val cameraIntent = Intent(MediaStore.ACTION_VIDEO_CAPTURE) startActivityForResult (cameraIntent, 1001) } личное развлечение ChoosePhoto() { val cameraIntent = Intent(Intent.ACTION_GET_CONTENT) cameraIntent.type = "изображение/*" if (cameraIntent.resolveActivity(requireActivity().packageManager) != null) { startActivityForResult (cameraIntent, 1002) } } частное развлечение ChooseVideo() { val намерение = Намерение (Intent.ACTION_GET_CONTENT) Intent.type = "видео/*" startActivityForResult (намерение, 1003) } переопределить fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult (код запроса, код результата, данные) когда (код запроса) { 1000 -> { если (resultCode == Activity.RESULT_OK) { takePhotoBitmap = data?.extras?.get("data") как? Битовая карта если (takePhotoBitmap!= ноль) { привязка.sImgUploadPost.setImageBitmap(takePhotoBitmap) } } еще { requireContext().showToast("Фотосъемка была отменена или не удалась") } } 1001 -> { если (resultCode == Activity.RESULT_OK) { takeVideoURI = данные?.данные если (takeVideoURI != ноль) { // Обработка URI захваченного видео // Например, вы можете отобразить его в VideoView привязка.sVidUploadPost.setVideoURI(takeVideoURI) привязка.sVidUploadPost.start() } } еще { // Запись видео была отменена или не удалась requireContext().showToast("Запись видео была отменена или не удалась") } } 1002 -> { if (resultCode == Activity.RESULT_OK && data != null && data.data != null) { выберитеPhotoURI = данные?.данные if (choosePhotoURI != null) { Glide.with(this).load(choosePhotoURI).centerCrop() .transition(DrawableTransitionOptions.withCrossFade()) .into(binding.sImgUploadPost) } } еще { requireContext().showToast("Выбор фотографии был отменен или не выполнен") } } 1003 -> { if (resultCode == Activity.RESULT_OK && data != null && data.data != null) { выберитеVideoURI = данные?.данные if (chooseVideoURI != null) { // Обработка выбранного URI видео // Например, вы можете отобразить его в VideoView привязка.sVidUploadPost.setVideoURI(chooseVideoURI) привязка.sVidUploadPost.start() } } еще { requireContext().showToast("Выбор видео был отменен или не выполнен") } } } } startActivityForResult и super.onActivityResult(requestCode, resultCode, data) устарели. Можете ли вы решить проблему?
Мобильная версия