Android 列出所有可用图像
我正在制作一个应用程序,要求我列出手机 SD 卡上的所有可用图像。
我尝试查询 ContentResolver 方式,
Cursor image = getContentResolver().query(Images.Media.EXTERNAL_CONTENT_URI, new String[]{Images.Media._ID,Images.Media.DATA,Images.Media.DISPLAY_NAME}, null, null, null);
但没有任何结果。
有什么方法可以获取列表,或者如果不可能,那么是否有任何可能的意图(例如PICK),我可以通过它允许用户选择一个文件,然后访问用户选择的文件的路径?
I am making an application which requires me to list all the images available on the SD-Card of the phone.
I tried querying the ContentResolver way i.e.
Cursor image = getContentResolver().query(Images.Media.EXTERNAL_CONTENT_URI, new String[]{Images.Media._ID,Images.Media.DATA,Images.Media.DISPLAY_NAME}, null, null, null);
but without any result.
Is there any way i can get the list or if that's not possible then is there any possible intent (e.g. PICK) by which I can allow the user to select a file and then access the path of the file the user selected??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我的代码与你的非常相似(除了损坏之外)并且它可以工作。你不需要向画廊意图询问东西,它应该可以工作。我的两个猜测是:
1) 确保您的 USB 存储设备未安装,如果安装了,您将看不到外部图像。
2)也许是权限问题?尝试添加 GLOBAL_SEARCH 权限,看看是否有帮助。
My code is pretty much like yours (except broken down) and it works. You don't need to go about asking the Gallery Intent for stuff, it should work. My two guesses are:
1) Make sure your USB storage is not mounted, if it is you'll see no external images.
2) Maybe a permissions issue? Try adding GLOBAL_SEARCH permission to see if that helps at all.
您可以使用图库活动来选择图像,如下所示:
在活动的回调中,文件 uri 将位于意图参数中
You could use the gallery activity to select images, something like this:
in the callback for the activity the file uri will be in the intent parameter