Намерения запустить песню, найти пользователя в приложении spotify? - PullRequest
5 голосов
/ 05 октября 2011

Я пытаюсь понять, как такие приложения, как Shazam, например, могут запускать spotify для воспроизведения определенной песни.Другой вопрос о SO предложил намерение, подобное String spotifyUri = "spotify:user:username", а затем проанализировать его как Uri, но вместо поиска пользователя, который просто запускает spotify.Как я могу заставить spotify воспроизводить трек?

EDIT

Глядя на 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"));

Теперь, как мне это сказатьискать конкретную песню?

1 Ответ

4 голосов
/ 05 октября 2011

Хорошо, по-видимому, вам нужно использовать палку SearchManager.Query в качестве дополнительного. Этот пост вроде указывает на это.

Итак, это intent.putExtra(SearchManager.QUERY, "michael jackson smooth criminal");

...