Как обработать намерение видео файла, определенного в файле манифеста? - PullRequest
0 голосов
/ 11 марта 2019

Я создал приложение для видеопроигрывателя и определил фильтр намерений в действии «Воспроизведение видео», чтобы сделать его браузером по умолчанию, например, когда пользователь хочет воспроизвести видео из другого приложения, например галереи, после чего появляется опция моего приложения (в каком плеере Вы хотите играть? Моя проблема в том, что я не знаю, как справиться с этим намерением в игре "Воспроизведение видео". Однако воспроизведение видео в приложении работает хорошо.

Файл манифеста

   <activity       
        android:name="com.appytone.xvideoplayer.localVideo.VideoPlayActivity"
        android:theme="@style/AppTheme.NoActionBars">

        <intent-filter
            tools:ignore="AppLinkUrlError">
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="video/mp4"/>
        </intent-filter>

    </activity>

Я использую библиотеку видеопроигрывателя MKV для воспроизведения видео.

Воспроизведение видео Активность

    intent= getIntent();
    url = String.valueOf(intent.getData());
    position=getIntent().getIntExtra("position",0);
    url=getIntent().getStringExtra("video");
    player.play(url);
    player.setTitle(url);

Я проверяю значение намерения, которое я получаю из файла манифеста в окне logcat, которое выглядит следующим образом Первый тег = при воспроизведении видео в приложении Второй тег = при игре из галереи и выборе моего приложения

Окно журнала

D / TAG: Intent {cmp = com.appytone.xvideoplayer / .localVideo.VideoPlayActivity (имеет дополнительные функции)}

D / TAG: Intent {act = android.intent.action.VIEW dat = content: // media / external / video / media / 383778 typ = video / * flg = 0x3000000 cmp = com.appytone.xvideoplayer /. localVideo.VideoPlayActivity (имеет дополнительные функции)}

...