Как я могу разрешить пользователям воспроизводить видео с помощью моего приложения? - PullRequest
3 голосов
/ 10 сентября 2011

Прошлой ночью я потратил пару часов на разработку довольно приятного видеоплеера для Honeycomb, и теперь я, конечно, хотел бы, чтобы люди могли им пользоваться.

Как я могу заставить мое приложение слушатьдля / получения "трансляции воспроизведения видео"?

Я предполагаю, что это как-то связано с файлом manifest.xml, но я не смог ничего найти по этому поводу на сайте разработчика Android.

Я пытался использовать следующее без особого успеха:

<receiver android:name=".VideoPlayer">
    <intent-filter>
        <action android:name="android.intent.action.VIEW">
            <data android:mimeType="video/*" />
        </action>
    </intent-filter>
</receiver>

Ответы [ 2 ]

7 голосов
/ 10 сентября 2011

В конце концов я решил эту проблему самостоятельно, используя следующий код в моем файле manifest.xml:

    <!-- Video player -->
    <activity android:name=".VideoPlayer" android:label="@string/app_name"
        android:theme="@style/BlackHolo" android:screenOrientation="sensorLandscape">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="rtsp" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="video/*" />
            <data android:mimeType="application/sdp" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="http" />
            <data android:mimeType="video/*" />
        </intent-filter>
    </activity>
1 голос
/ 10 сентября 2011

Видеоплееры обычно реализуются как действия.Следовательно, вы бы использовали элемент <activity> для этого действия и тип MIME, а не элемент <receiver>.Возможно, вы также захотите указать категории DEFAULT и BROWSABLE - последняя потребуется для ссылок, нажимаемых в веб-браузере.

...