#android #kotlin #exception #video-capture #android-gallery
#Android #котлин #исключение #захват видео #android-галерея
Вопрос:
Прошло 5 дней борьбы с этой проблемой, и до сих пор не найдено никакого рабочего решения.Наконец-то подумал о том, чтобы получить помощь от гениальных умов здесь. Проблема: я пытаюсь выбрать видео из галереи (но на некоторых планшетных устройствах версии 28), получая вышеупомянутое исключение. Я хотел бы заявить, что некоторые из них являются планшетами Amazon, поэтому я не уверен, требуются ли какие-либо конкретные проверки для этого. Ниже приведен мой код:
private fun selectVideo() {
val items = arrayOf<CharSequence>("Camera", "Gallery", "Cancel")
val builder = AlertDialog.Builder(this)
builder.setTitle("Add Attachment")
builder.setItems(items) { dialog, item ->
if (items[item] == "Camera") {
val videoCaptureIntent = Intent(MediaStore.ACTION_VIDEO_CAPTURE)
videoCaptureIntent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 20);
if (videoCaptureIntent.resolveActivity(packageManager) != null) {
startActivityForResult(videoCaptureIntent, REQUEST_VIDEO_CAPTURE)
}
} else if (items[item] == "Gallery") {
val galleryIntent = Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI
)
startActivityForResult(galleryIntent, REQUEST_VIDEO_PICK)
}
}
}
builder.show()
}
Ваша любезная поддержка будет высоко оценена.
Ответ №1:
Попробуйте следующий код
var intent = new Intent ();
intent.SetType ("video/*");
intent.SetAction (Intent.ActionGetContent);
intent.PutExtra (MediaStore.ExtraVideoQuality, 0);
intent.PutExtra (MediaStore.ExtraDurationLimit, Globals.VideoMaxDuration);
this.StartActivityForResult (Intent.CreateChooser (intent, "Select video"), 200);