Ошибка пропущенного URL в фильтре намерений VIEW, если я укажу mimeType для действия PICK - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть приложение, которое может просматривать видеофайлы разных типов, используя фильтры намерений из разных источников.Чтобы приложение всегда отображалось в качестве выбора при попытке открыть любой видеофайл, я поместил этот код в манифест

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

, чтобы я мог получить Uri в приложении, которое обрабатывает его в основной операции..

Хотя все кажется работающим, как и предполагалось, каждый раз, когда я пытаюсь редактировать манифест, Android Studio помечает весь код фильтра намерений красным подчеркиванием, сообщая об ошибке missing url.Ошибка исчезает, если я удаляю <data android:mimeType="video/*" />, но если я делаю это, приложение появляется как выбор не только для видеофайлов.

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

@ AndreaF У меня та же проблема.Вы можете просто отключить это предупреждение.

Чтобы подавить, попробуйте следующее:

<intent-filter tools:ignore="AppLinkUrlError">
  <action android:name="android.intent.action.VIEW"/>
  <action android:name="android.intent.action.PICK"/>
  <data android:mimeType="video/*" />
</intent-filter>

добавьте xmlns: tools = "http://schemas.android.com/tools" в ваш начальный тег манифеста, если его еще нет.

0 голосов
/ 26 сентября 2018

Запрос отсутствует URL не потому, что action.PICK, ошибка, связанная с action.VIEW

<intent-filter>
  <action android:name="android.intent.action.VIEW"/>  //delete this line
  <action android:name="android.intent.action.PICK"/>
  <category android:name="android.intent.category.DEFAULT"/>  //add this line
  <category android:name="android.intent.category.OPENABLE"/> //and this
  <data android:mimeType="video/*" />
</intent-filter>

для action.VIEW, вы можете определить другой фильтр намерений.

...