У меня есть приложение, которое имеет 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 значка из моего приложения в меню приложения «Файлы» при выборе видео)