首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android:从内容URI获取文件URI?

Android:从内容URI获取文件URI?
EN

Stack Overflow用户
提问于 2011-04-14 08:54:27
回答 6查看 167.6K关注 0票数 163

在我的应用程序中,用户选择一个音频文件,然后应用程序进行处理。问题是,为了让应用程序按照我想要的方式处理音频文件,我需要URI为文件格式。当我使用Android的原生音乐播放器在应用程序中浏览音频文件时,URI是一个内容URI,如下所示:

代码语言:javascript
复制
content://media/external/audio/media/710

但是,使用流行的文件管理器应用程序Astro,我得到了以下内容:

代码语言:javascript
复制
file:///sdcard/media/audio/ringtones/GetupGetOut.mp3

后者对我来说更容易使用,但我当然希望应用程序具有用户选择的音频文件的功能,而不管他们使用什么程序来浏览他们的收藏。所以我的问题是,有没有一种方法可以将content://风格的URI转换为file:// URI?否则,你会给我推荐什么来解决这个问题呢?下面是调用选择器的代码,供参考:

代码语言:javascript
复制
Intent ringIntent = new Intent();
ringIntent.setType("audio/mp3");
ringIntent.setAction(Intent.ACTION_GET_CONTENT);
ringIntent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(Intent.createChooser(ringIntent, "Select Ringtone"), SELECT_RINGTONE);

我对内容URI执行以下操作:

代码语言:javascript
复制
m_ringerPath = m_ringtoneUri.getPath();
File file = new File(m_ringerPath);

然后对这个文件做一些FileInputStream的事情。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5657411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档