如何让 Spotify 和其他 Android 音乐应用程序按意图搜索和播放?

2023-12-28

我想创建一个MEDIA_PLAY_FROM_SEARCH https://developer.android.com/guide/components/intents-common.html#PlaySearch(或其他)意图,将在任何主要 Android 音乐应用程序中搜索并播放歌曲。我希望以下命令行适用于多个应用程序:

adb shell am start -a "android.media.action.MEDIA_PLAY_FROM_SEARCH" -e android.intent.extra.focus "vnd.android.cursor.item/*" -e query "yellow\ submarine\ by\ the\ beatles" -f 268435456

这对应于代码:

Intent intent = new Intent(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH);
intent.putExtra(MediaStore.EXTRA_MEDIA_FOCUS, "vnd.android.cursor.item/*");
intent.putExtra(SearchManager.QUERY, "yellow submarine by the beatles");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

这会在我的 Pixel 2 上启动一个选择器,列出可以处理该请求的不同应用程序。如果我选择 Google Play 音乐,它会播放黄色潜水艇。如果我选择 Spotify,它会进行搜索但不会播放,即使我订阅了 Spotify 高级版。 YouTube Music 也只进行搜索。

我故意不指定查询是艺术家还是歌曲(或两者,如本例所示),因为我想将决定权留给音乐应用程序。

如果我删除,行为是相同的(在 Google Play Music 和 Spotify 中)MediaStore.EXTRA_MEDIA_FOCUS额外和标志:

$ adb shell am start -a "android.media.action.MEDIA_PLAY_FROM_SEARCH" -e query "yellow\ submarine\ by\ the\ beatles"

我需要什么才能让它在任何主要音乐应用程序(即 Google Assistant 支持的应用程序)中播放歌曲?


我怀疑这是由于特定应用程序处理焦点的方式所致。 你能尝试以下方法吗?

adb shell am start -a "android.media.action.MEDIA_PLAY_FROM_SEARCH" -e android.intent.extra.focus "vnd.android.cursor.item/playlist" -e query "yellow\ submarine\ by\ the\ beatles" -f 268435456

如果不成功......

adb shell am start -a "android.media.action.MEDIA_PLAY_FROM_SEARCH" -e android.intent.extra.focus "vnd.android.cursor.item/audio" -e query "yellow\ submarine\ by\ the\ beatles" -f 268435456

使用“vnd.android.cursor.item/*”should根据智能选择播放一些音乐,但它是非结构化的,应用程序应尽可能使用更具体的搜索模式,例如播放列表/音频

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 Spotify 和其他 Android 音乐应用程序按意图搜索和播放? 的相关文章

  • 在浏览器中打开 URL,即使我的应用程序为其注册了意图过滤器

    我的应用程序为某些 URL 注册了一个意图过滤器 因为它可以处理来自这些 URL 的数据 但是 在应用程序内部 我想提供一个按钮来在浏览器中打开这样的 URL 也就是说 如果设置了默认浏览器 则在默认浏览器中打开它 否则提供一个选择器 就像
  • Android 谷歌地图 V2 已停止

    我正在尝试构建地图应用程序并关注这个链接 https blog emildesign rhcloud com p 435一步步 我在这里找到了类似的主题 但对我没有帮助 我想显示地图 但是当我运行它时 它返回强制关闭和我的 Android
  • 当目标小于 Android O 时,如何在 Android O 上创建快捷方式?

    背景 Android O 对快捷方式的工作方式进行了各种更改 https developer android com preview behavior changes html as https developer android com
  • 获取Android联系人排序首选项

    在 Android 的 联系人 gt 设置 中 我们有 列表排序依据 和 查看联系人姓名 选项 有什么方法可以在另一个应用程序中获取这些首选项吗 这意味着我的应用程序有我自己版本的联系人列表 我需要这些才能对其进行相应的排序 int sor
  • 调用外部应用程序

    如何从我的应用程序调用外部应用程序 例如 我需要打电话Shazam 应用程序 来自我的应用程序 我可以在应用程序的包名称中看到logcat 这对任何目的都有用吗 特别是对于 Shazam 以下代码有效 Intent intent new I
  • 在 Android 中将列表传递给另一个 Activity

    我已经创建了一个列表 并希望将该列表传递给另一个活动 但当我创建意图时 我在 putExtra 语句上收到错误 只是想知道是否有任何简单的方法来传递字符串列表而不是单个字符串 Thanks private List
  • 无法在 MARSHAMALLOW 文件选择器中选择 pdf、doc、ppt 等文件

    我正在使用我的 Android 应用程序将 pdf ppt doc 等文件上传到服务器 但在 Marshmallow 中 当文件选择器打开并且我浏览我的 Sdcard 或内部存储时 存在两个问题 1 它显示了所有我无法选择的文件 例如图像
  • Android:获取最新意图

    如何获取发送到活动的最后一个意图 的文档onNewIntent 建议我需要做这样的事情 class MyActivity public void onNewIntent Intent intent setIntent intent reac
  • Android:让用户从图库中选择图像或视频

    是否可以以这样的方式启动图库 以便同时显示图片和视频 Thanks 从图库中选择音频文件 Use MediaStore Audio Media EXTERNAL CONTENT URI Intent intent new Intent In
  • 使用 ACTION_VIEW Intent Action 启动文件

    我有以下代码来启动文件 try path fileJsonObject getString filePath if path indexOf 0 path path substring 1 path length path root pat
  • Spotify:使用网络 API 登录不接受重定向 URL

    我正在尝试使用 Web API 登录 Spotify 因为我不需要会话对象 在我的授权方法中 我需要传入重定向 url 但 GET 请求中不接受 iOS 重定向 url 的格式化方式 func authorize create the ur
  • 从另一个包启动活动

    我有这个清单
  • 从资产文件夹加载时,电子邮件意图中的图像预览未显示

    我有类似以下代码 public void shareImageInEmail String imageUri Intent emailIntent new Intent Intent ACTION SEND emailIntent setT
  • 从包中获取参数

    我正在尝试将参数从我的活动传递到片段 并且我正在使用以下代码 Override protected void onCreate Bundle savedInstanceState super onCreate savedInstanceSt
  • 如何在android中动态创建按钮?

    我想创建一个这样的页面 这 7 个按钮已经存在 但如果用户想添加更多类别 按钮 那么他可以使用 按钮并使用删除 按钮 有制作这个的想法或教程吗 创建 删除按钮onClick of button and button如下 public voi
  • Android:上下文是否影响用于取消警报的filterEquals()?

    要取消闹钟 我使用alarmManager cancel pendingIntent 根据 Android 开发者的说法Removes any alarms with a matching Intent Any alarm of any t
  • 如何让一个活动只运行一次? [复制]

    这个问题在这里已经有答案了 可能的重复 如何仅在首次运行应用程序时显示警报对话框 https stackoverflow com questions 5409595 how do i show an alert dialog only on
  • 通过 WhatsApp 发送消息

    由于我发现了一些较旧的帖子 表明 Whatsapp 不支持此功能 我想知道是否发生了变化 以及是否有办法打开与我通过意图发送的号码进行 Whatsapp 聊天 UPDATE请参阅https faq whatsapp com en andro
  • Android JUnit 测试中的运行时异常

    我有一个简单的 HelloWorld Activity 我尝试使用 Android JUnit 测试对其进行测试 应用程序本身按预期运行 但测试失败并显示 java lang RuntimeException 无法解析以下活动 Intent
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不

随机推荐

  • 访问 cookie,希望是在 JavaScript 中

    我正在开发一个 Firefox 插件 它允许用户 所有用户都属于特定组 该插件的受众范围非常有限 从状态栏查看其身份验证 cookie 的状态 我们都必须进行身份验证才能访问与工作相关的网站 但是当 cookie 过期时我们不会收到任何警告
  • 使用notepad++执行命令

    如何使用 Notepad 中的运行命令指定要处理的实际文件 例如 我想使用实际文件作为输入或 cs 编译器等运行 pdflatex 使用整个路径是不切实际的 它必须适用于任何实际文件 您可以使用执行字符串中的变量自动添加当前文件 C tem
  • require.js 的替代方式是 require?

    require js 的新功能 我有这个 define jquery underscore backbone views sidebar views dashboard views users views venues views paym
  • 如何确定与 PHP 中的 MIME 类型关联的扩展名?

    我可以使用 MIME 类型到 PHP 扩展的快速而肮脏的映射吗 不是内置的 但自己推出并不难 function system extension mime types Returns the system MIME type mapping
  • 在 32 位应用程序中使用 64 位整数可以吗?

    我注意到在 C 和 C 中 我们可以使用int64 t 或者只是一个long long 如果我编译32位代码使用这些类型 我会遇到任何性能问题吗64bit and or 32位机器 除了节省一些内存之外 我还有理由只使用int 毕竟 64
  • Postgresql 的函数

    在这个网站上我看到了一个函数 我想将其与 postgresql 一起使用 https raresql com 2013 05 16 sql server excel financial functions pmt https raresql
  • Angular 12 库源映射不可用

    升级到 Angular 12 后 自定义 Angular 库组件的源映射不再可用于调试 这是一部分angular json来自使用该库的 Angular 应用程序模块 projects myapp build configurations
  • 使用 POST 而不是 GET 的 REST API

    假设某个服务提供了一些我可以像这样使用的功能 GET service function param1 value1 param2 value2 我可以将它与 POST 查询一起使用吗 POST service function param1
  • 如何在PyQt4中用动画画一条线

    我有一个要点清单 例如 points 160 75 115 567 How to draw a line in PyQt4 so it would be something like this 提前致谢 EDIT For the recor
  • Java 获取 java.lang.Number 或原语的通用子类的 valueOf

    在阅读了很多问题后 我问自己是否可以解决将字符串转换为通用数字而不使用硬编码方法的困境 例如 我从方法中获取类型为 Class 的参数 使用 Number isAssignableFrom 或其他方式我可以检查这是否是一个数字类 但我也从用
  • Lua忽略转义序列

    目前Lua有以下转义序列 a Bell b 退格键 f 换页 n 新队 r 回车 t Tab v 垂直制表符 反斜杠 双引号 单引号 nnn 八进制值 nnn 是 3 个八进制数字 xNN 十六进制值 Lua5 2 LuaJIT NN是两个
  • 使用元素自己的宽度分配左边距

    我想设置margin left元素宽度的负一半 这会获取文档的宽度 services backPanel gt div css margin top this height 2 margin left this width 2 我究竟做错了
  • WebBrowser-Control - 单击链接打开默认浏览器

    我在 WPF 应用程序中使用 WebBrowser Control 例如
  • React/Redux 架构中 API 调用应该放在哪里?

    我正在尝试从 API 检索一些数据并将其传递到我的应用程序中 然而 作为 React Redux 的新手 我想知道从哪里进行这些调用以及如何将其传递到我的应用程序中 我有标准的文件夹结构 组件 减速器 容器等 但我不确定现在将 API 调用
  • 导出 Web 项目

    我使用 java 页面和 eclipse 制作了一个 Web 应用程序 但我不知道如何导出它以供使用 我被要求提供一个 make 文件或其他东西 我还可以通过哪些其他方法从 eclipse 执行此操作 听起来您需要将其导出为 WAR 文件
  • 计算函数极限的最佳方法是什么?

    我计划开发一个应用程序 可以计算用户给出的表达式 函数 的极限 I already have a functional expression evaluator which will definitely come in handy My
  • 为什么 Pylint 认为在条件值中使用 len(SEQUENCE) 不正确?

    考虑这个代码片段 from os import walk files for dirpath filenames in walk mydir More code that modifies files if len files 0 lt C
  • 算术左移时间复杂度

    是什么时间复杂度of 算术左移 n 位操作数的算术右移 运算符 例如 x y 复杂度 用 O 表示法 是当输入大小变得越来越大时算法所花费的时间的渐近特征 对于只能接受有限数量输入的算法来说毫无意义 lt lt 可以采用 2 32 32 个
  • 仅倾斜前后的一侧以获得平箭头

    我创建了一些虚拟的面包屑步骤 第一个面包屑步骤需要在左侧有一个正常的平坦边框 这已完成 悬停时 我需要显示每个面包屑项目的黑色边框 但唯一的问题是悬停时 对于第一个面包屑步骤 我没有像预期的那样在左侧得到平坦的边框 以下是悬停时的预期结果
  • 如何让 Spotify 和其他 Android 音乐应用程序按意图搜索和播放?

    我想创建一个MEDIA PLAY FROM SEARCH https developer android com guide components intents common html PlaySearch 或其他 意图 将在任何主要 A