Roh*_*tel 1 android android-imageview google-drive-api android-bitmap google-drive-android-api
在我的应用程序中,用户可以从相机和图库中选择图像以加载到ImageView中。
我正在使用以下代码打开相关的应用程序以选择图像:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
Run Code Online (Sandbox Code Playgroud)
问题出在Google硬盘上。如果用户从Google云端硬盘中选择图片,则我将获得这样的URI:content://com.google.android.apps.docs.storage.legacy/enc%3DHxtpLaMr66OMOzDOKTRZ-5ed7q7Szj7F7nC0IlxBnV8hx2P1%0A
我能够生成位图,但无法获取文件名。
InputStream input = context.getContentResolver().openInputStream(uri);
Bitmap bitmap = BitmapFactory
.decodeStream(input);
Run Code Online (Sandbox Code Playgroud)
我需要显示用户选择的文件名。
请帮我从Google驱动器URI中提取图片名称。
我能够生成位图,但无法获取文件名
目前不必是一个文件名。并非每个字节序列都有文件名。例如,此答案没有文件名。
请帮助我从Google Drive Uri中提取图片名称。
这不是严格可行的。
您可以切换到ACTION_OPEN_DOCUMENT。然后,包裹得到Uri在一个DocumentFile使用fromSingleUri()。然后,调用getName()上DocumentFile。这将是一个“显示名称”,这是用户应该识别的名称。它仍然可能不是文件名。
我无法排除Google Drive API可以通过某种方式从Uri您从中获取显示名称的可能性ACTION_GET_CONTENT,尽管这会让我感到惊讶。您的Urifrom 也可能ACTION_GET_CONTENT会与DocumentFile— 一起使用,如果您添加CATEGORY_OPENABLE了Intent,则会增加这种方法起作用的几率。
| 归档时间: |
|
| 查看次数: |
1531 次 |
| 最近记录: |