打算启动歌曲,在 Spotify 应用程序中搜索用户?
Posted
技术标签:
【中文标题】打算启动歌曲,在 Spotify 应用程序中搜索用户?【英文标题】:Intents to launch song, search for user in spotify app? 【发布时间】:2011-12-01 04:28:00 【问题描述】:我试图弄清楚像 Shazam 这样的应用程序是如何能够启动 Spotify 来播放特定歌曲的。 SO上的另一个问题提出了类似String spotifyUri = "spotify:user:username"
的意图,然后将其解析为Uri
,而不是搜索刚刚启动spotify的用户。如何让 Spotify 播放曲目?
编辑
查看 Logcat,Shazam 似乎是这样做的:
Starting: Intent act=android.media.action.MEDIA_PLAY_FROM_SEARCH cmp=com.spotify.mobile.android.ui/.Launcher (has extras) from pid 9959
如何在我的代码中复制它?
编辑
好的,显然它是这样的:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setAction(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH);
intent.setComponent(new ComponentName("com.spotify.mobile.android.ui", "com.spotify.mobile.android.ui.Launcher"));
现在我如何告诉它搜索特定歌曲?
【问题讨论】:
嗨,我正在尝试做类似的事情,我尝试了您的代码,但第二行出现错误,特别是在 INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH 处。我想知道你是否有完整的代码? @Peter,请在下面的答案中查看我的代码。此外,您可能会收到错误消息,因为您是针对 Android API 8 或更低版本构建的。 INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH 从 API 级别 9 开始添加。 哦,那一定是我在 API 8 上。非常感谢,我从来没有想过这一点。我知道这是题外话,但你还能做任何其他事情,比如与 spotify 应用程序交互吗?我正在尝试做一些事情,比如告诉我的应用程序正在播放什么歌曲,但我很难过。我想也许既然你得到了这个工作,你可能会有一些想法。 【参考方案1】:好吧,显然你需要使用一根棍子 SearchManager.Query
作为额外的。 This post 有点指向这一点。
所以,它是intent.putExtra(SearchManager.QUERY, "michael jackson smooth criminal");
【讨论】:
以上是关于打算启动歌曲,在 Spotify 应用程序中搜索用户?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法使用非高级帐户使用 Spotify API 搜索歌曲但不播放它们?