Два похожих интент-фильтра на Android 10 - PullRequest
1 голос
/ 26 марта 2020

У меня есть приложение, которое имеет 2 действия, которые оба могут обрабатывать android.intent.action.GET_CONTENT действие:

<!-- activity 1 -->
        <activity android:icon="@drawable/choose_video"
                  android:label="@string/choose_video"
                  android:name=".activity.ChooseVideoActivity">
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:mimeType="application/sample.get.video"/>
                <action android:name="android.intent.action.GET_CONTENT"/>
            </intent-filter>
        </activity>

<!-- activity 2 -->

        <activity android:icon="@drawable/record_video"
                  android:label="@string/record_video"
                  android:name=".activity.RecordVideoActivity">
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:mimeType="application/sample.get.video"/>
                <action android:name="android.intent.action.GET_CONTENT"/>
            </intent-filter>
        </activity>

Я использую следующий код для запуска chooser:

Intent sendIntent = new Intent(Intent.ACTION_GET_CONTENT);
sendIntent.setType("application/sample.get.video");
sendIntent.putExtra(Intent.EXTRA_MIME_TYPES, new String[]{"video/*"});
startActivityForResult(Intent.createChooser(sendIntent, null), CODE_VIDEO);

On Android версий до 10 (api ver. <= 28) все работает нормально: если установлено приложение «Файлы», оно открывается с моими 2 активностями, доступными в меню Appdrawer, вместе с другими приложениями, которые могут справиться с этим действием (обычно там есть Google Drive) ). Если нет приложения «Файлы», то появится «chooser». Но на Android 10 он ведет себя по-другому: он показывает только одно действие из моего приложения вместо двух. </p>

Вопрос , кто-нибудь знает, что именно было изменено в Android 10? это вызывает такое поведение, и, возможно, знает решение этой проблемы. Или, в качестве альтернативы, как добиться аналогичного поведения с помощью других методов (показывать 2 значка из моего приложения в меню приложения «Файлы» при выборе видео)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...