繁体   English   中英

如何从android目录URI获取绝对路径

[英]How to get Absolute path from android directory URI

我在onActivityResult获得了音频文件uri,但是当我从此URI中获取文件时,它显示文件未找到异常,并且/ directory / xxxx不是绝对路径。

这是URI代码: Uri muri=data.getData();

不需要onActivityResult()返回的Uri是可以直接访问的文件。 Uri不一定是File

请在ContentResolver上使用openInputStream()以获取由Uri表示的数据上的InputStream

尝试这个..

Intent i = new Intent(Intent.ACTION_GET_CONTENT);
            i.setType("audio/*");
            startActivityForResult(i, GET_MP3);

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {
            if (requestCode == GET_MP3) {
Uri selectedmp3 = data.getData();
                mp3_path = getpathmp3(selectedmp3);
}

private String getpathring(Uri path) {
        String result;
        Cursor cursor = getContentResolver()
                .query(path, null, null, null, null);
        if (cursor == null) {
            result = path.getPath();
            int name = result.lastIndexOf("/");
            mp3_name = result.substring(name + 1);
        } else {
            cursor.moveToFirst();
            int idx = cursor.getColumnIndex(MediaStore.Audio.Media.DATA);

            result = cursor.getString(idx);
            cursor.close();
            int name = result.lastIndexOf("/");
            mp3_name = result.substring(name + 1);
        }
        return result;
    }

mp3_path是您尝试后将获得的路径。

长时间的等待之后,我终于找到了解决方案。 我收集了从URI,Android KitKat新存储访问框架获取真实路径的链接@Paul Burke Answer。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM