我的理解是,为了处理外部意图,应用程序的manifest.xml
文件必须包含intent-filter
;但是,使用APK分析器,我发现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
我想念什么?
该清单表明APK不包含代码:
<application hasCode="false">
要么是其中包含代码的另一个APK(它还将包含您缺少的其余清单条目),要么Spotify使用的是Google Play Dynamic Delivery,它允许即时下载和安装模块。
无论如何,您都不会查看该应用程序的整个清单。