Android:从内容URI获取文件URI?
在我的应用程序中,用户将选择一个由应用程序处理的音频文件。问题是,为了使该应用程序执行我希望它对音频文件执行的操作,我需要将URI设置为文件格式。当我使用Android的本地音乐播放器浏览应用中的音频文件时,URI是内容URI,如下所示: content://media/external/audio/media/710 但是,使用流行的文件管理器应用程序Astro,我得到以下信息: file:///sdcard/media/audio/ringtones/GetupGetOut.mp3 后者对于我来说更易于访问,但是我当然希望该应用程序具有用户选择的音频文件的功能,而与他们用来浏览收藏夹的程序无关。所以我的问题是,有没有办法将content://样式URI转换为file://URI?否则,您会为我推荐什么解决此问题?这是调用选择器的代码,以供参考: 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执行以下操作: m_ringerPath = m_ringtoneUri.getPath(); File file = new File(m_ringerPath); 然后对所述文件执行一些FileInputStream的操作。