Android - 使用Intent选择要播放的歌曲

时间:2011-04-08 02:09:04

标签: android android-intent action mediastore

我正在尝试使用“活动”选择一首歌曲,该歌曲将提供有关歌曲的元信息。我想这样做而不是简单的文件浏览器。我有以下代码但不幸的是,它一旦点击就播放了这首歌。我只是希望用户能够从他们的MediaStore中选择一首歌,然后在不播放的情况下对其进行操作。

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

1 个答案:

答案 0 :(得分:4)

据我所知,您所看到的“选择器”是一种“预览”类型的设计(在手机上查看)。

有点像'挑选'铃声,例如......

您会看到一个列表,可以依次选择每个列表以获得“预览”。当您决定所需的铃声时,单击“确定”并返回选择。单击取消只会保留原样(保留现有铃声选择)。

我看不出有什么方法可以覆盖选择器的这种行为,并且没有找到任何替代方法(例如,Intent参数)来实现你想要做的事情。

换句话说,据我所知,你只是希望用户默默地选择一段音乐并将其返回到你的Activity,但是(预览)选择器不会那样工作。

您可以在选择器中单击“确定”时查看用户预览/选择的内容,但是,如果您使用...

startActivityForResult(intent, 1234);

注意,1234只是一个任意代码。

如果您检查返回到onActivityResult()的Intent,它将在用户按下OK之前获得用户所选音乐的内容Uri。