интент играть видео - способы

Ответить
Аватара пользователя
Lisa
Сообщения: 22
Зарегистрирован: 16 ноя 2015, 14:29

интент играть видео - способы

Сообщение Lisa » 04 мар 2016, 02:33

Может кто-нибудь предположить как нужно открыть системный видео-плеер
кроме как так

Код: Выделить всё

  Intent intent = new Intent();          // play
              	      intent.setAction(android.content.Intent.ACTION_VIEW);
              	      intent.setDataAndType(Uri.parse(sourcepath), "video/*");
              	      startActivity( intent );
чтобы это не затруднило мой телефон))) делать с него скриншот
Потому что когда так - то не делает

А когда мой системный плеер запускается другими приложениями, там все делается)

Аватара пользователя
Lisa
Сообщения: 22
Зарегистрирован: 16 ноя 2015, 14:29

Re: интент играть видео - способы

Сообщение Lisa » 04 мар 2016, 04:15

на телефоне стоит системный скриншотер ( надо зажать две кнопи - пауза и громкость )

Когда системный видеоплеер открывается кто угодно(из других приложений), то скриншоты с видео делаются
А когда видеоплеер я открываю из своего приложения, то не делаются

Вопрос - что могли добавить авторы чужих галерей в intent, что после их вызова скриншоты делаются

Пробовала фильтры video/*" video/mp4
Вызывать по адресу приложения

Теперь остались под подозрением флаги, но в них ничего не понимаю
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Вроде таких

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: интент играть видео - способы

Сообщение klblk » 04 мар 2016, 07:40

Странный кейс. Можно попробовать найти исходники других приложений, где это работает нормально. Я обычно Uri из файла получаю с помощью Uri.fromFile(), но врядли тут проблема. Еще можно сделать стерильный проект, где будет только запуск видео интента, чтоб исключить возможность влияния других компонентов приложения.
Например в исходниках телеграма:
[syntax=java5]Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(f), "video/mp4");
getParentActivity().startActivityForResult(intent, 500);[/syntax]

Аватара пользователя
Lisa
Сообщения: 22
Зарегистрирован: 16 ноя 2015, 14:29

Re: интент играть видео - способы

Сообщение Lisa » 04 мар 2016, 16:35

тут я доработала твой код, убрала лишнее

Код: Выделить всё

             	Intent intent = new Intent(Intent.ACTION_VIEW);
              	intent.setDataAndType(Uri.fromFile(file), "video/*");
              //	parentActivity.startActivityForResult(intent, 500);
              	startActivityForResult(intent, 500);
Как бы там ни было, теперь скриншоты делаются)
Меру моей благодарности не выразить словами :)
Оно как снежинки падает с неба, а вокруг так тепло.
Можно стоять с открытым ртом, уставившись в небо и ловить
эти совершенные ... теплым языком.

Ответить