Android GET_内容音频文件
在以下情况下,我面临一些问题:Android GET_内容音频文件,android,audio,android-intent,Android,Audio,Android Intent,在以下情况下,我面临一些问题: LOAD_AUDIO_REQUEST_CODE = 1000; Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("audio/*"); startActivityForResult(intent, LOAD_AUDIO_REQUEST_CODE); public void onActivityResult(int requestCode, int resultCode,
LOAD_AUDIO_REQUEST_CODE = 1000;
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("audio/*");
startActivityForResult(intent, LOAD_AUDIO_REQUEST_CODE);
public void onActivityResult(int requestCode, int resultCode, Intent data) {
Uri uri = data.getData();
Log.i(TAG, "uri path : " uri.getPath());
}
在onActivityResult
中,数据路径指示/document/audio:458
,但我想获得一个类似/storage/simulated/0/Music/music0.mp3的路径
如何将/document/audio:458
转换为/storage/../music0.mp3
在onActivityResult数据路径中指示/document/audio:458
您收到了内容:
Uri
。这在较新版本的Android上相当正常。Android的未来版本可能会阻止文件:
Uri
值
如何将/document/audio:458转换为/storage/…/music0.mp3
你没有。不必存在与给定的Uri
关联的文件。Uri
可能指向:
- 外部存储器上的本地文件
- 另一个应用程序的内部存储上的本地文件
- 可移动存储上的本地文件
- 加密的本地文件,需要动态解密
- 数据库中
BLOB
列中保存的字节流
- 需要先由其他应用程序下载的内容
- ……等等
相反,请使用ContentResolver
和:
openInputStream()
读取与内容关联的字节
getType()
获取与内容关联的MIME类型
query()
和OpenableColumns
获取与内容关联的大小和显示名称