2013-02-09 246 views
2

我試圖啓動音樂播放器,以便它會啓動並立即開始播放第一首歌曲。即時通訊使用意圖,但它只是不工作......它說「沒有發現處理意圖的活動」。啓動默認音樂播放器

+0

嘗試媒體類型'audio/*' - 這是我使用的,它工作正常。也許沒有人將'audio/mp3'註冊爲特定的MIME類型。 – Squonk 2013-02-09 21:59:11

+0

它也不起作用 – Raz 2013-02-09 22:03:35

+0

什麼是'Uri'值? – CommonsWare 2013-02-09 22:55:36

回答

2

爲什麼不使用android.intent.action.MUSIC_PLAYER

Intent intent = new Intent("android.intent.action.MUSIC_PLAYER"); 
startActivity(intent); 

請注意,這是從API 15,從API向上可以使用android.intent.category.APP_MUSIC棄用。

+0

這個人真的很奇怪,它只啓動了一個名爲「playerpro」的音樂播放器,所以我從我的手機中刪除了playerpro,然後它只是墜毀了 – Raz 2013-02-09 21:59:02

+0

你有沒有安裝任何其他音樂播放器? – Ahmad 2013-02-09 22:00:13

+0

是的,和playerpro甚至不是默認的 – Raz 2013-02-09 22:01:44

1

行,所以我覺得這個代碼,工作

   Intent intent = new Intent(); 
       intent.setAction(android.content.Intent.ACTION_VIEW); 
       File file = new File(songsList.get(0)); 
       intent.setDataAndType(Uri.fromFile(file), "audio/*"); 
       startActivity(intent); 

但事情是,讓說,用戶點擊後退按鈕,然後點擊音樂播放器的按鈕,將重新啓動播放器,並開始播放第一首歌再次... 那麼我如何才能啓動沒有任何其他的音樂播放器......?

2
 Intent intent = new Intent(); 
     intent.setAction(android.content.Intent.ACTION_VIEW); 
     File file = new File(AUDIO_PATH); 
     intent.setPackage("com.google.android.music");   
     intent.setDataAndType(Uri.fromFile(file), "audio/*"); 
     mContext.startActivity(intent); 
+3

代碼很好,但解釋* *更好*。 – Makoto 2013-05-06 02:58:41

0

要啓動默認音樂播放器,請嘗試使用下面的代碼。

try { 
    Intent intent = Intent.makeMainSelectorActivity(Intent.ACTION_MAIN, Intent.CATEGORY_APP_MUSIC); 
    getContext().startActivity(intent); 
} catch (Exception e) { 
    Log.d(TAG, "Exception for launching music player "+e); 
}