Цель: Воспроизведение видео, которое не зацикливается.
Предположение: Есть флаг или дополнительный, который я могу передать, чтобы указать это поведение.
Что я пробовал:
Просмотрел возможности Intent.FLAG_*.
Изучаем возможности Intent.putExtra(MediaStore.EXTRA_*.
Базовый код в его нынешнем виде:
val intent = Intent(Intent.ACTION_VIEW)
val data = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".provider", attachmentFile)
intent.setDataAndType(data, contentType)
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
context.startActivity(intent)
Я вижу флажок для зацикливания в видеоплеере по умолчанию, но не знаю, как его переключить и смогу ли вообще.
Это действительно помогает, нам интересно, можем ли мы передать флаг/метаданные, говоря: «Давайте не зацикливать это видео, пожалуйста».
I can see a checkbox for looping in the default video player
Вы запускаете сторонний видеоплеер. Будут десятки, если не сотни, различных таких плееров, предустановленных на более чем 20 000 моделей устройств и около 2 миллиардов устройств. Сотни других будут установлены пользователями из Play Store и других источников.
С этим в мыслях:
Нет флажка "пожалуйста, не зацикливайтесь"
От видеоплеера не требуется соблюдать такой флаг.
Если вам нужен полный контроль над воспроизведением видео, не используйте ACTION_VIEW, а воспроизведите видео самостоятельно (VideoView, ExoPlayer и т. д.).
Снятие галочки с зацикливания видео на скриншоте не помогает?