我使用ACTION_GET_CONTENT Intent让用户从他的库中选择一首歌,然后在onActivityResult()
方法中将其作为URI返回。
我需要得到这首歌的名字。
我尝试过:
Uri song; //got from onActivityResult
String songName = song.getLastPathSegment();
和:
Uri song; //got from onActivityResult
File file = new File(song.getPath());
String songName = file.getName();
在这两种情况下songName
String都是这样的:
// audio:9980
虽然我期待的是:
// Walk on the wild side.mp3
我做错了什么?
答案 0 :(得分:1)
我需要获取文件的名称。
它不是文件。它是Uri
,就像https://stackoverflow.com/questions/43615264/how-to-get-the-file-name-from-an-uri-got-from-action-get-content-intent
是一个URI一样。 how-to-get-the-file-name-from-an-uri-got-from-action-get-content-intent
不是文件名。
我做错了什么?
您假设ACTION_GET_CONTENT
为您提供了一个文件。
欢迎您使用ContentResolver
query()
OpenableColumns
来DISPLAY_NAME
并ACTION_GET_CONTENT
。我在this sample app中证明了这一点。但是,请理解您正在获取显示名称,并且由用户选择处理的应用程序return Response::json(array('element' => View::make('MyView')->render());
取决于"显示名称"实际上是。 可能是一个文件名,但不一定是。