2011-10-05 2 views
4

예를 들어, Shazam과 같은 앱이 특정 노래를 재생하기 위해 spotify를 실행할 수 있는지 파악하려고합니다. 그래서에 대한 또 다른 질문은 String spotifyUri = "spotify:user:username"과 같은 의도를 제안한 다음 그 내용을 Uri으로 구문 분석하지만 단지 시작 지점에있는 사용자를 검색하는 대신 spotify가 트랙을 재생하게하려면 어떻게해야합니까? 노래를 시작하려는 의도, spotify 앱에서 사용자를 검색 하시겠습니까?

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

안녕, 메신저, 난 당신의 코드를 시도했지만 나는 INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH에서 특히 두 번째 줄에 오류가 발생합니다. 당신이 전체 코드를 가지고 있는지 궁금 해서요? – Peter

+0

@ 피터, 아래 코드는 내 코드를 참조하십시오. 또한 Android API 8 또는 그 이하 버전을 사용하고 있기 때문에 오류가 발생했을 수 있습니다. API 레벨 9에서 INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH가 추가되었습니다. – LuxuryMode

+1

오, API 8 일 것임에 틀림 없습니다. 고맙습니다. 그렇게 많이 생각하지 않았을 것입니다. 나는 이것이 주제에서 벗어난 것을 알고 있지만 당신은 spotify 앱과 상호 작용하는 것을 좋아할 수 있습니까? 나는 내 앱에서 어떤 노래가 연주되고 있는지, 나는 힘든 시간을 보내고 있는지를 알려주는 등의 일을하려고 노력하고있다. 나는 당신이이 아이디어를 가지고 있을지도 모른다고 생각했기 때문에 아마도 생각했습니다. – Peter

답변

4

좋아, 분명히 SearchManager.Query 스틱을 사용해야합니다. This post 그 점에 일종의.

그래서, 비슷한 일을하려고 intent.putExtra(SearchManager.QUERY, "michael jackson smooth criminal");

관련 문제