gpt4 book ai didi

java - 如何从 ACTION_GET_CONTENT Intent 获取的 URI 中获取文件名?

转载 作者:行者123 更新时间:2023-12-02 13:19:52 30 4
gpt4 key购买 nike

我使用 ACTION_GET_CONTENT Intent 让用户从他的库中选择一首歌曲,然后将其作为 URI 在 onActivityResult() 方法中返回。

我需要获取歌曲的名称。

我尝试过:

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字符串如下所示:

// audio:9980

虽然我期待类似的事情:

// Walk on the wild side.mp3

我做错了什么?

最佳答案

I need to get the name of the file.

这不是一个文件。它是一个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 不是文件名。

What am I doing wrong?

您假设 ACTION_GET_CONTENT 为您提供了一个文件。

欢迎您使用 ContentResolverquery() 获取 OpenableColumns 并请求 DISPLAY_NAME 。我在 this sample app 中证明了这一点。不过,请理解,您正在获取显示名称,并且由用户选择处理“显示名称”实际是什么的ACTION_GET_CONTENT应用程序。它可能是一个文件名,但不一定是。

关于java - 如何从 ACTION_GET_CONTENT Intent 获取的 URI 中获取文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43615264/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com