在我的应用程序中,用户可以从相机和图库中选择图像加载到ImageView中。从谷歌驱动器获取文件名URI
我使用下面的代码来打开相关应用来选择图像:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
问题是与谷歌驱动器。如果用户选择从谷歌驱动器的图像,我得到的URI是这样的:内容://com.google.android.apps.docs.storage.legacy/enc%3DHxtpLaMr66OMOzDOKTRZ-5ed7q7Szj7F7nC0IlxBnV8hx2P1%0A
我能够产生位图,但无法获取文件名。
InputStream input = context.getContentResolver().openInputStream(uri);
Bitmap bitmap = BitmapFactory
.decodeStream(input);
我需要显示用户选择的文件名。
请帮助我从谷歌驱动器URI中提取图像名称。
签入Kitkat,DocumentFile对象正在创建,但getName()方法返回null。我怎样才能得到显示名称kitkat及以下? –
- 检查以上评论 –
@RohanPatel:这可能是一个'DocumentFile'限制。我[这个库中有一个更好的版本](https://github.com/commonsguy/cwac-document)。或者,您可以使用'ContentResolver''自己查询'OpenableColumns'。 – CommonsWare