Как зарегистрировать альтернативный mp3-просмотрщик для приложения filebrowser "myfiles"? - PullRequest
1 голос
/ 02 января 2012

Я создаю редактор mp3tag и хочу, чтобы он начал работу через android-buildin-filebrowser "myfiles" (com.sec.android.app.myfiles / com.sec.android.app.myfiles.MainActivity). 1001 *

Когда я выбираю файл mp3, я получаю средство выбора активности, которое предлагает мне две программы для выполнения файла. К сожалению, моя собственная программа не входит в число предлагаемых вариантов.

Однако, если я использую внешний Android-FileBrowser OI File Manager , он предлагает мне выбор который включает в себя мое собственное приложение.

Мой вопрос: как мне зарегистрировать свою активность в манифесте, чтобы "myfiles" мог ее запустить?

Мое приложение зарегистрировано так:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="media.mp3"
        android:versionCode="1"
        android:versionName="1.0" >

        <uses-sdk android:minSdkVersion="7" />

        <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name" >
            <activity
                android:label="@string/app_name"
                android:name=".Mp3TagEditorActivity" >
                <intent-filter >
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                    <category android:name="android.intent.category.EDIT" />
                    <category android:name="android.intent.category.VIEW" />
                    <data android:mimeType="audio/mpeg"  />

                </intent-filter>
            </activity>
        </application>
    </manifest>

Ответы [ 2 ]

4 голосов
/ 02 января 2012

Я создаю редактор тегов mp3 и хочу, чтобы он запускался с помощью android-buildin-filebrowser "myfiles".

В ОС Android нет "android-buildin-filebrowser 'myfiles'". Возможно, вы думаете о файловом браузере, который поставляется на каком-то конкретном устройстве.

Мой вопрос: как мне зарегистрировать свою активность в манифесте, чтобы "myfiles" мог ее запустить?

Чтобы ответить на этот вопрос окончательно, вам необходимо связаться с автором "myfiles".

Мое приложение зарегистрировано так:

Ваш <intent-filter> довольно неправильный.

Во-первых, EDIT и VIEW - это действия, а не категории.

Во-вторых, единственный способ, которым он будет соответствовать на вашем <intent-filter>, - это включить категорию LAUNCHER, что весьма маловероятно для действий EDIT или VIEW.

Если вы хотите, чтобы оба эти действия находились в панели запуска домашнего экрана и , реагировали на действия VIEW или EDIT, вам потребуется что-то вроде этого:

        <activity
            android:label="@string/app_name"
            android:name=".Mp3TagEditorActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter >
                <action android:name="android.intent.action.EDIT" />
                <action android:name="android.intent.action.VIEW" />
                <data android:mimeType="audio/mpeg"  />
            </intent-filter>
        </activity>

Два отдельных элемента <intent-filter> являются логическим ИЛИ - любой Intent, который соответствует первому или , второй будет соответствовать этому действию.

0 голосов
/ 02 января 2012

На самом деле, это может быть просто добавить:

<action android:name="android.intent.action.MUSIC_PLAYER" />

Так что ваш манифест должен выглядеть так:ваше приложение myfiles.Надеюсь, что это решит вашу проблему.

...