2

我正在尝试启动音乐播放器,以便它启动并立即开始播放第一首歌曲。我正在使用 Intent,但它不起作用......它说“没有找到处理意图的活动”。

    Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
       //"songsList" is an array with paths of all the songs in the sdcard
    Uri uri = Uri.parse(songsList.get(0));
    String type = "audio/mp3";
    intent.setDataAndType(uri, type);
    startActivity(intent);
4

4 回答 4

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);
于 2013-05-04T03:07:06.313 回答
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.

于 2013-02-09T21:57:23.763 回答
2

要启动默认音乐播放器,请尝试使用以下代码。

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);
}
于 2017-01-30T08:03:04.997 回答
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);

但问题是,让我们说用户点击后退按钮,然后点击音乐播放器的按钮,它重新启动播放器并再次开始播放第一首歌曲......那么我如何只启动音乐播放器而没有其他任何东西...?

于 2013-02-10T00:04:21.230 回答