2012-10-02 21 views
10

क्या इसके यूआरआई से स्पॉटिफा ट्रैक शुरू करने के लिए वैसे भी है?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); 

धन्यवाद

उत्तर

15

Freenode (आईआरसी) पर #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); 
+2

यह अब काम नहीं करता है - स्पॉटिफा ऐप खुलता है, लेकिन संगीत स्वचालित रूप से नहीं खेला जाता है। किसी को भी यह काम करने के बारे में पता है? – barkside

+0

धन्यवाद प्रिय महोदय –

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); 
      } 
+0

मुझे यकीन नहीं है कि मैं समझता हूं, इस कोड में यूआरआई कहाँ पारित किया जा रहा है? – dornad

+0

मुझे नहीं लगता कि स्पष्टीकरण उरी का उपयोग अपने खोज के इरादे में करेगा। मेरे उदाहरण में वह ट्रैकनाम और कलाकार नाम के साथ एक खोज का उपयोग कर रहा है। – StErMi

+1

ठीक है, मैं अब यह समझता हूं, दुर्भाग्य से मैं एक खोज करने की कोशिश नहीं कर रहा हूं, मेरे पास पहले से ही उन गीतों का यूआरआई है जो मैं ऐप पर खेलना चाहता हूं। मैं सोच रहा हूं, आपको यह कैसे पता चला कि Spotify इस खोज उद्देश्य प्रकार का समर्थन करता है। क्या यह जानने के लिए वैसे भी है कि किस प्रकार के इरादे स्पॉटिफ़ (या उस मामले के लिए कोई एंड्रॉइड ऐप) समर्थन करते हैं? – dornad

0

आप Spotify ऐप्स पर कलाकार के लिए प्लेलिस्ट मिलता है। आपको निम्नलिखित इरादे शुरू करने की आवश्यकता है। आपको Spotify के नाम या गतिविधि को पैकेज करने की आवश्यकता नहीं है।

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