android - 应用程序如何在其清单中没有任何意图过滤器的情况下处理意图?
问题描述
我的理解是,为了处理外部意图,应用程序的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
我错过了什么?
解决方案
该清单表明 APK 不包含任何代码:
<application hasCode="false">
要么有另一个包含代码的 APK(其中还包含您缺少的其余清单条目),要么 Spotify 正在使用 Google Play 动态交付,它允许动态下载和安装模块。
在任何情况下,您都没有查看应用程序的整个清单。
推荐阅读
- r - -title 中的错误:一元运算符的无效参数执行停止
- python - 如何使用正则表达式删除重复字符 Python
- python - selenium - 想要从表的第二列中选择所有值
- python - python拆分为n个数组(批处理)并尝试在一批数学中对相同的ID进行分组
- c - 如何排除非数字键?CS50 凯撒 Pset2
- python - Django如何添加有条件的类媒体
- protractor - Chromedriver 已停止工作并显示 Driver info: chromedriver=81.0.4044.69 即使我安装了 81.0.4044.138
- php - 密码重置系统的安全链接哈希
- node.js - 如何更改节点 console.log 打印的宽度?
- c# - 如何在 C# 中进行指数和对数曲线拟合?