Как приложение может обрабатывать намерения без использования фильтров намерений в своем манифесте? - PullRequest
0 голосов
/ 17 февраля 2020

Насколько я понимаю, для обработки внешних намерений файл manifest.xml приложения должен содержать intent-filter; однако, используя APK Analyzer, я увидел, что манифест приложения Spotify просто:

<?xml version="1.0" encoding="UTF-8"?><manifest versionCode="55843262" configForSplit="" package="com.spotify.music" split="config.xxhdpi">
  <application hasCode="false">
    <meta-data name="com.android.vending.derived.apk.id" value="8"/>
  </application>
</manifest>

Это не показывает фильтры намерений; однако я могу открыть Spotify с помощью:

adb shell am start -a "android.media.action.MEDIA_PLAY_FROM_SEARCH" -e android.intent.extra.focus "vnd.android.cursor.item/*" -e query Bowie

Что мне не хватает?

1 Ответ

1 голос
/ 17 февраля 2020

Этот манифест указывает, что APK не содержит код:

<application hasCode="false">

Либо есть другой APK с кодом в нем (который также будет содержать остальные записи манифеста, которые вы пропустили), или Spotify является используя Google Play Dynami c Delivery, которая позволяет загружать и устанавливать модули «на лету».

В любом случае вы не смотрите весь манифест для приложения.

...