4
我正試圖想像Shazam這樣的應用程序能夠啓動Spotify來播放特定的歌曲。 SO上的另一個問題提出了類似String spotifyUri = "spotify:user:username"
的意圖,然後將其解析爲Uri
,而不是搜索剛剛啓動spotify的用戶。我怎樣才能讓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
@Peter,請在下面的答案中查看我的代碼。此外,您可能會因爲針對Android API 8或更低版本構建而出現錯誤。 INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH自API級別9開始添加。 – LuxuryMode
哦,必須是我在API 8上。非常感謝,我從來沒有想過這一點。我知道這是脫離主題,但你是否可以做任何其他事情,如與Spotify應用程序交互?我正在嘗試做一些事情,比如告訴我的應用正在播放哪首歌曲,而且我很難。我想也許既然你有這個工作,你可能有一些想法。 – Peter