Мы все знаем, как мы можем использовать фильтры намерений в нашем AndroidManifest.xml для объявления возможностей таких действий, как поиск, отправка и т. Д.В настоящее время я использую такой фильтр намерений для регистрации пользовательской схемы URL следующим образом:
<activity android:name="NameOfActivity" >
<intent-filter >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWABLE" />
<data
android:host=""
android:scheme="customscheme" />
</intent-filter>
</activity>
Все это работало очень хорошо, пока я не решил преобразовать все свои действия в фрагменты, поскольку мне нужно было отобразитьПользовательский интерфейс по-другому на таблицах.Теперь на устройствах, которые объявлены как large или выше, вместо переключения между действиями у меня есть одно действие, которое удаляет и добавляет новые фрагменты по запросу.Этот выбор был сделан, поскольку левая часть экрана всегда отображает одно и то же содержимое, поэтому вместо добавления этого содержимого во все действия я заменяю фрагменты.
Проблема здесь заключается в том, что пока фильтр намеренийзапускает правильную активность на телефоне, эта активность никогда не должна запускаться на планшете.Вместо этого я хотел бы обработать этот URL во фрагменте.На данный момент я не вижу способа исправить это.Одна мысль состояла в том, чтобы добавить фильтр намерений программно, но после некоторого исследования я не могу понять, возможно ли это или нет.Другая мысль заключалась в том, чтобы как-то добавить фильтр намерений к фрагменту, но это не сработало бы, так как фрагмент не может быть запущен без активности, в которой он размещен.Мне нужно одно действие для обработки фильтра намерений, но на планшете мне нужно другое действие для обработки фильтра намерений.
Есть ли способ сделать это?