Страница 1 из 1
интент играть видео - способы
Добавлено: 04 мар 2016, 02:33
Lisa
Может кто-нибудь предположить как нужно открыть системный видео-плеер
кроме как так
Код: Выделить всё
Intent intent = new Intent(); // play
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(sourcepath), "video/*");
startActivity( intent );
чтобы это не затруднило мой телефон))) делать с него скриншот
Потому что когда так - то не делает
А когда мой системный плеер запускается другими приложениями, там все делается)
Re: интент играть видео - способы
Добавлено: 04 мар 2016, 04:15
Lisa
на телефоне стоит системный скриншотер ( надо зажать две кнопи - пауза и громкость )
Когда системный видеоплеер открывается кто угодно(из других приложений), то скриншоты с видео делаются
А когда видеоплеер я открываю из своего приложения, то не делаются
Вопрос - что могли добавить авторы чужих галерей в intent, что после их вызова скриншоты делаются
Пробовала фильтры video/*" video/mp4
Вызывать по адресу приложения
Теперь остались под подозрением флаги, но в них ничего не понимаю
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Вроде таких
Re: интент играть видео - способы
Добавлено: 04 мар 2016, 07:40
klblk
Странный кейс. Можно попробовать найти исходники других приложений, где это работает нормально. Я обычно Uri из файла получаю с помощью Uri.fromFile(), но врядли тут проблема. Еще можно сделать стерильный проект, где будет только запуск видео интента, чтоб исключить возможность влияния других компонентов приложения.
Например в исходниках телеграма:
[syntax=java5]Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(f), "video/mp4");
getParentActivity().startActivityForResult(intent, 500);[/syntax]
Re: интент играть видео - способы
Добавлено: 04 мар 2016, 16:35
Lisa
тут я доработала твой код, убрала лишнее
Код: Выделить всё
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file), "video/*");
// parentActivity.startActivityForResult(intent, 500);
startActivityForResult(intent, 500);
Как бы там ни было, теперь скриншоты делаются)
Меру моей благодарности не выразить словами

Оно как снежинки падает с неба, а вокруг так тепло.
Можно стоять с открытым ртом, уставившись в небо и ловить
эти совершенные ... теплым языком.