4

我正在尝试使用将提供有关歌曲的元信息的活动来选择歌曲。我想这样做而不是简单的文件浏览器。我有以下代码,但不幸的是,一旦点击它也会播放歌曲。我只是希望用户能够从他们的歌曲中选择一首歌曲,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);
    }
}
4

1 回答 1

5

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

例如,这有点像“挑选”铃声……

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

我看不到任何方法可以覆盖选择器的这种行为,也没有找到任何替代方法(例如意图参数)来实现您想要做的事情。

换句话说,据我所知,您只是希望用户默默地选择一段音乐,然后它会返回到您的活动中,但(预览)选择器不能以这种方式工作。

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

startActivityForResult(intent, 1234);

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

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

于 2011-04-08T02:21:35.180 回答