如何从默认音乐播放器中获取Android模拟器中的文件名?

时间:2013-05-31 07:01:52

标签: android android-intent android-emulator

我想知道如何在音乐播放器中获取所选文件的文件名。在我的编码中,我从音乐播放器中选择了mp3文件并从意图中获取数据并将其分配给uri,我只获得音乐播放器播放列表中的所选位置,如路径/ 1 路径/ 2 ,其中我无法获取Mp3文件的FileName。请帮我解决这一个。这是我的参考代码

//for opening the file
Intent intent = new Intent();
                intent.setType("audio/mp3");
                intent.setAction(Intent.ACTION_GET_CONTENT);
                startActivityForResult(
                        Intent.createChooser(intent, "Complete action using"),
                        PICK_FROM_FILE);

//获取FileName

   String mPath = null;
            Uri mToneCaptureUri;
            mToneCaptureUri = data.getData();               
            mPath = mToneCaptureUri.getPath(); // from File ManagerF
                    setPath(mPath);

1 个答案:

答案 0 :(得分:3)

获取完整路径和文件名

public String getPath(Uri uri) {
            String[] projection = { MediaStore.Audio.Media.DATA };
            Cursor cursor = managedQuery(uri, projection, null, null, null);
            int column_index = cursor
                    .getColumnIndexOrThrow(MediaStore.Audio.Media.DATA);
            cursor.moveToFirst();
            return cursor.getString(column_index);
        }

在onActivityResult上使用它

mpath = getPath(data.getData());