起价Spotify的意图歌(Starting a Song from Spotify Intent)

2019-08-01 02:30发布

反正是有其URI开始Spotify的曲目?

我尝试以下方法,但他们没有工作。 当Spotify的打开,它总是在登陆的播放列表页面,而不是轨道的球员。

String spotifyTrackURI = "spotify:track:1cC9YJ8sQjC0T5H1fXMUT2";
Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage("com.spotify.mobile.android.ui");

// I've tried with Intent#putExtra()..
launchIntent.putExtra( SearchManager.QUERY, spotifyTrackURI );
// or with setData
launchIntent.setData(Uri.parse(spotifyTrackURI))

context.startActivity(launchIntent);

谢谢

Answer 1:

发现Freenode上(IRC)的#spotify通道答案。 感谢大家!

我把在这里的其他人知道:

// right click on a track in Spotify to get the URI, or use the Web API.
String uri = "spotify:track:<spotify uri>"; 
Intent launcher = new Intent( Intent.ACTION_VIEW, Uri.parse(uri) );
startActivity(launcher);


Answer 2:

第一种是旧版本的Spotify。 对于新版本,你可以使用第二个。

通过这种方式,将先用老版本的尝试,如果失败有例外它与第二个试试:)

try {
                final 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.putExtra(SearchManager.QUERY, artistName + " " + trackName );
                context.startActivity(intent);
            } catch ( ActivityNotFoundException e ) {
                final 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.activity.MainActivity"));
                intent.putExtra(SearchManager.QUERY, artistName + " " + trackName );
                context.startActivity(intent);
            }


Answer 3:

如果你的播放列表对Spotify应用艺术家。 您需要启动以下意图。 你并不需要打包的名称或Spotify的活动。

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("spotify:artist:" + "ARTIST SPOTIFY LINK"));
                startActivity(intent);


文章来源: Starting a Song from Spotify Intent