如何打开外部音乐播放器(例如Pulsar,Retro音乐播放器)并播放从列表视图中选择的歌曲?

时间:2018-08-11 10:13:23

标签: android listview audio onclicklistener

我在listview中有来自内部存储的歌曲列表,现在onItemClickListener我添加了以下代码:

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(FileProvider.getUriForFile(parent.getContext(), BuildConfig.APPLICATION_ID + ".provider", file), "audio/*");
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    try {
        MainActivity.this.startActivity(intent);
    }
    catch (ActivityNotFoundException e)
    {
        Toast.makeText(parent.getContext(),"Music player not found", Toast.LENGTH_SHORT).show();
    }

它只是打开音乐播放器,不播放所选项目(歌曲)。 现在,我该怎么做才能播放歌曲?

1 个答案:

答案 0 :(得分:0)

最后,我发现了我的错误,

我不得不使用

intent.setDataAndType(Uri.fromFile(file), "audio/*");

代替

intent.setDataAndType(FileProvider.getUriForFile(parent.getContext(), BuildConfig.APPLICATION_ID + ".provider", file), "audio/*");

因为“ Fileprovider”仅用于从您的应用安装APK。