我正在试图想像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"));
现在如何告诉它搜索特定歌曲?
答案 0 :(得分:4)
好吧,显然你需要使用一根棍子SearchManager.Query
作为额外的。 This post有点指向。
所以,它是intent.putExtra(SearchManager.QUERY, "michael jackson smooth criminal");