2011-04-08 63 views
3

我正在嘗試使用活動來選擇歌曲,該活動會提供有關歌曲的元信息。我想這樣做而不是簡單的文件瀏覽器。我有下面的代碼,但不幸的是,一旦點擊,它也會播放歌曲。我只是希望用戶能夠從他們的MediaStore中選擇一首歌曲,然後在沒有播放的情況下對其進行處理。Android - 選擇使用Intent播放的歌曲

public class Main extends Activity { 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Intent intent = new Intent(); 
     intent.setAction(android.content.Intent.ACTION_PICK); 
     intent.setData(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI); 
     startActivity(intent); 
    } 
} 

回答

4

據我所知,您看到的'picker'是'預覽'類型的設計(在我的手機上查看它)。

這有點像「採摘」的鈴聲,例如...

你看到一個列表,可以依次選擇每一個獲得「預覽」。當你決定你想要的鈴聲時,你點擊確定並返回選擇。點擊取消只是保持原樣(保留現有的鈴聲選擇)。

我看不出任何重寫picker的這種行爲的方式,並且沒有找到任何其他方式(例如Intent參數)來實現您想要做的事情。

換句話說,據我所知,你只需要用戶默默地選擇一段音樂,然後它返回到你的活動,但(預覽)選擇器不會這樣工作。

您可以找出用戶預覽/選擇當他們在選擇器中單擊OK但是,如果你用的什麼......

startActivityForResult(intent, 1234); 

注意,1234只是一個任意代碼。

如果您檢查返回到onActivityResult()的Intent,它會在用戶選擇OK音樂之前選擇音樂片段的內容Uri。

+0

這不是一個選擇器,它可以讓你選擇活動。 http://developer.android.com/reference/android/content/Intent.html#ACTION_CHOOSER – Ryan 2011-04-08 02:24:55

+0

@Ryan:是的,但你的問題說明了這一點......「我試圖用最原始的媒體瀏覽器來選擇歌曲」。這實際上並不明確,您的代碼也不是。進一步解釋,這可能會有所幫助。 – Squonk 2011-04-08 02:56:04

+0

我正在嘗試讓用戶選擇一首歌曲。他們不必有活動選擇,他們只需從MediaStore中挑選一首歌曲,而不用播放它。 – Ryan 2011-04-08 02:58:12